{
    "swagger": "2.0",
    "info": {
        "version": "1.6.0",
        "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",
        "contact": {
            "name": "Appwrite Team",
            "url": "https:\/\/appwrite.io\/support",
            "email": "team@appwrite.io"
        },
        "license": {
            "name": "BSD-3-Clause",
            "url": "https:\/\/raw.githubusercontent.com\/appwrite\/appwrite\/master\/LICENSE"
        }
    },
    "host": "cloud.appwrite.io",
    "basePath": "\/v1",
    "schemes": [
        "https"
    ],
    "consumes": [
        "application\/json",
        "multipart\/form-data"
    ],
    "produces": [
        "application\/json"
    ],
    "securityDefinitions": {
        "Project": {
            "type": "apiKey",
            "name": "X-Appwrite-Project",
            "description": "Your project ID",
            "in": "header",
            "x-appwrite": {
                "demo": "<YOUR_PROJECT_ID>"
            }
        },
        "Key": {
            "type": "apiKey",
            "name": "X-Appwrite-Key",
            "description": "Your secret API key",
            "in": "header",
            "x-appwrite": {
                "demo": "<YOUR_API_KEY>"
            }
        },
        "JWT": {
            "type": "apiKey",
            "name": "X-Appwrite-JWT",
            "description": "Your secret JSON Web Token",
            "in": "header",
            "x-appwrite": {
                "demo": "<YOUR_JWT>"
            }
        },
        "Locale": {
            "type": "apiKey",
            "name": "X-Appwrite-Locale",
            "description": "",
            "in": "header",
            "x-appwrite": {
                "demo": "en"
            }
        },
        "Session": {
            "type": "apiKey",
            "name": "X-Appwrite-Session",
            "description": "The user session to authenticate with",
            "in": "header"
        },
        "ForwardedUserAgent": {
            "type": "apiKey",
            "name": "X-Forwarded-User-Agent",
            "description": "The user agent string of the client that made the request",
            "in": "header"
        }
    },
    "paths": {
        "\/account": {
            "get": {
                "summary": "Get account",
                "operationId": "accountGet",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Get the currently logged in user.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 9,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            },
            "post": {
                "summary": "Create account",
                "operationId": "accountCreate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to allow a new user to register a new account in your project. After the user registration completes successfully, you can use the [\/account\/verfication](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createVerification) route to start verifying the user email address. To allow the new user to login to their new account, you need to create a new [account session](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createEmailSession).",
                "responses": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "create",
                    "weight": 8,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "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>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/email": {
            "patch": {
                "summary": "Update email",
                "operationId": "accountUpdateEmail",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Update currently logged in user account email address. After changing user address, the user confirmation status will get reset. A new confirmation email is not sent automatically however you can use the send confirmation email endpoint again to send the confirmation email. For security measures, user password is required to complete this request.\nThis endpoint can also be used to convert an anonymous account to a normal one, by passing an email address and a new password.\n",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateEmail",
                    "weight": 34,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-email.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password. Must be at least 8 chars.",
                                    "default": null,
                                    "x-example": "password"
                                }
                            },
                            "required": [
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/identities": {
            "get": {
                "summary": "List identities",
                "operationId": "accountListIdentities",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Get the list of identities for the currently logged in user.",
                "responses": {
                    "200": {
                        "description": "Identities List",
                        "schema": {
                            "$ref": "#\/definitions\/identityList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listIdentities",
                    "weight": 57,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/list-identities.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account\/identities",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "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: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "in": "query"
                    }
                ]
            }
        },
        "\/account\/identities\/{identityId}": {
            "delete": {
                "summary": "Delete identity",
                "operationId": "accountDeleteIdentity",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "account"
                ],
                "description": "Delete an identity by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteIdentity",
                    "weight": 58,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/delete-identity.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "identityId",
                        "description": "Identity ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<IDENTITY_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/account\/jwts": {
            "post": {
                "summary": "Create JWT",
                "operationId": "accountCreateJWT",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to create a JSON Web Token. You can use the resulting JWT to authenticate on behalf of the current user when working with the Appwrite server-side API and SDKs. The JWT secret is valid for 15 minutes from its creation and will be invalid if the user will logout in that time frame.",
                "responses": {
                    "201": {
                        "description": "JWT",
                        "schema": {
                            "$ref": "#\/definitions\/jwt"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createJWT",
                    "weight": 29,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-j-w-t.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md",
                    "rate-limit": 100,
                    "rate-time": 3600,
                    "rate-key": "url:{url},userId:{userId}",
                    "scope": "account",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ]
            }
        },
        "\/account\/logs": {
            "get": {
                "summary": "List logs",
                "operationId": "accountListLogs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Get the list of latest security activity logs for the currently logged in user. Each log returns user IP address, location and date and time of log.",
                "responses": {
                    "200": {
                        "description": "Logs List",
                        "schema": {
                            "$ref": "#\/definitions\/logList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listLogs",
                    "weight": 31,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/list-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "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). Only supported methods are limit and offset",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "in": "query"
                    }
                ]
            }
        },
        "\/account\/mfa": {
            "patch": {
                "summary": "Update MFA",
                "operationId": "accountUpdateMFA",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Enable or disable MFA on an account.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMFA",
                    "weight": 44,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-m-f-a.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "mfa": {
                                    "type": "boolean",
                                    "description": "Enable or disable MFA.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "mfa"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/mfa\/authenticators\/{type}": {
            "post": {
                "summary": "Create authenticator",
                "operationId": "accountCreateMfaAuthenticator",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Add an authenticator app to be used as an MFA factor. Verify the authenticator using the [verify authenticator](\/docs\/references\/cloud\/client-web\/account#updateMfaAuthenticator) method.",
                "responses": {
                    "200": {
                        "description": "MFAType",
                        "schema": {
                            "$ref": "#\/definitions\/mfaType"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMfaAuthenticator",
                    "weight": 46,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-mfa-authenticator.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "type",
                        "description": "Type of authenticator. Must be `totp`",
                        "required": true,
                        "type": "string",
                        "x-example": "totp",
                        "enum": [
                            "totp"
                        ],
                        "x-enum-name": "AuthenticatorType",
                        "x-enum-keys": [],
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Verify authenticator",
                "operationId": "accountUpdateMfaAuthenticator",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Verify an authenticator app after adding it using the [add authenticator](\/docs\/references\/cloud\/client-web\/account#createMfaAuthenticator) method.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMfaAuthenticator",
                    "weight": 47,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-mfa-authenticator.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "type",
                        "description": "Type of authenticator.",
                        "required": true,
                        "type": "string",
                        "x-example": "totp",
                        "enum": [
                            "totp"
                        ],
                        "x-enum-name": "AuthenticatorType",
                        "x-enum-keys": [],
                        "in": "path"
                    },
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "otp": {
                                    "type": "string",
                                    "description": "Valid verification token.",
                                    "default": null,
                                    "x-example": "<OTP>"
                                }
                            },
                            "required": [
                                "otp"
                            ]
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete authenticator",
                "operationId": "accountDeleteMfaAuthenticator",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "account"
                ],
                "description": "Delete an authenticator for a user by ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteMfaAuthenticator",
                    "weight": 51,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/delete-mfa-authenticator.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "type",
                        "description": "Type of authenticator.",
                        "required": true,
                        "type": "string",
                        "x-example": "totp",
                        "enum": [
                            "totp"
                        ],
                        "x-enum-name": "AuthenticatorType",
                        "x-enum-keys": [],
                        "in": "path"
                    }
                ]
            }
        },
        "\/account\/mfa\/challenge": {
            "post": {
                "summary": "Create MFA challenge",
                "operationId": "accountCreateMfaChallenge",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Begin the process of MFA verification after sign-in. Finish the flow with [updateMfaChallenge](\/docs\/references\/cloud\/client-web\/account#updateMfaChallenge) method.",
                "responses": {
                    "201": {
                        "description": "MFA Challenge",
                        "schema": {
                            "$ref": "#\/definitions\/mfaChallenge"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMfaChallenge",
                    "weight": 52,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-mfa-challenge.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},userId:{userId}",
                    "scope": "account",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "factor": {
                                    "type": "string",
                                    "description": "Factor used for verification. Must be one of following: `email`, `phone`, `totp`, `recoveryCode`.",
                                    "default": null,
                                    "x-example": "email",
                                    "enum": [
                                        "email",
                                        "phone",
                                        "totp",
                                        "recoverycode"
                                    ],
                                    "x-enum-name": "AuthenticationFactor",
                                    "x-enum-keys": []
                                }
                            },
                            "required": [
                                "factor"
                            ]
                        }
                    }
                ]
            },
            "put": {
                "summary": "Create MFA challenge (confirmation)",
                "operationId": "accountUpdateMfaChallenge",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "account"
                ],
                "description": "Complete the MFA challenge by providing the one-time password. Finish the process of MFA verification by providing the one-time password. To begin the flow, use [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "updateMfaChallenge",
                    "weight": 53,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-mfa-challenge.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},challengeId:{param-challengeId}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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>"
                                }
                            },
                            "required": [
                                "challengeId",
                                "otp"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/mfa\/factors": {
            "get": {
                "summary": "List factors",
                "operationId": "accountListMfaFactors",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "List the factors available on the account to be used as a MFA challange.",
                "responses": {
                    "200": {
                        "description": "MFAFactors",
                        "schema": {
                            "$ref": "#\/definitions\/mfaFactors"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listMfaFactors",
                    "weight": 45,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/list-mfa-factors.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/account\/mfa\/recovery-codes": {
            "get": {
                "summary": "Get MFA recovery codes",
                "operationId": "accountGetMfaRecoveryCodes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Get recovery codes that can be used as backup for MFA flow. Before getting codes, they must be generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to read recovery codes.",
                "responses": {
                    "200": {
                        "description": "MFA Recovery Codes",
                        "schema": {
                            "$ref": "#\/definitions\/mfaRecoveryCodes"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getMfaRecoveryCodes",
                    "weight": 50,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/get-mfa-recovery-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            },
            "post": {
                "summary": "Create MFA recovery codes",
                "operationId": "accountCreateMfaRecoveryCodes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Generate recovery codes as backup for MFA flow. It's recommended to generate and show then immediately after user successfully adds their authehticator. Recovery codes can be used as a MFA verification type in [createMfaChallenge](\/docs\/references\/cloud\/client-web\/account#createMfaChallenge) method.",
                "responses": {
                    "201": {
                        "description": "MFA Recovery Codes",
                        "schema": {
                            "$ref": "#\/definitions\/mfaRecoveryCodes"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMfaRecoveryCodes",
                    "weight": 48,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-mfa-recovery-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            },
            "patch": {
                "summary": "Regenerate MFA recovery codes",
                "operationId": "accountUpdateMfaRecoveryCodes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Regenerate recovery codes that can be used as backup for MFA flow. Before regenerating codes, they must be first generated using [createMfaRecoveryCodes](\/docs\/references\/cloud\/client-web\/account#createMfaRecoveryCodes) method. An OTP challenge is required to regenreate recovery codes.",
                "responses": {
                    "200": {
                        "description": "MFA Recovery Codes",
                        "schema": {
                            "$ref": "#\/definitions\/mfaRecoveryCodes"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMfaRecoveryCodes",
                    "weight": 49,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-mfa-recovery-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/account\/name": {
            "patch": {
                "summary": "Update name",
                "operationId": "accountUpdateName",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Update currently logged in user account name.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateName",
                    "weight": 32,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-name.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "User name. Max length: 128 chars.",
                                    "default": null,
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/password": {
            "patch": {
                "summary": "Update password",
                "operationId": "accountUpdatePassword",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Update currently logged in user password. For validation, user is required to pass in the new password, and the old password. For users created with OAuth, Team Invites and Magic URL, oldPassword is optional.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePassword",
                    "weight": 33,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-password.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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"
                                }
                            },
                            "required": [
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/phone": {
            "patch": {
                "summary": "Update phone",
                "operationId": "accountUpdatePhone",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Update the currently logged in user's phone number. After updating the phone number, the phone verification status will be reset. A confirmation SMS is not sent automatically, however you can use the [POST \/account\/verification\/phone](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createPhoneVerification) endpoint to send a confirmation SMS.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePhone",
                    "weight": 35,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-phone.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "phone": {
                                    "type": "string",
                                    "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.",
                                    "default": null,
                                    "x-example": "+12065550100"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password. Must be at least 8 chars.",
                                    "default": null,
                                    "x-example": "password"
                                }
                            },
                            "required": [
                                "phone",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/prefs": {
            "get": {
                "summary": "Get account preferences",
                "operationId": "accountGetPrefs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Get the preferences as a key-value object for the currently logged in user.",
                "responses": {
                    "200": {
                        "description": "Preferences",
                        "schema": {
                            "$ref": "#\/definitions\/preferences"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getPrefs",
                    "weight": 30,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/get-prefs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account\/prefs",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            },
            "patch": {
                "summary": "Update preferences",
                "operationId": "accountUpdatePrefs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Update currently logged in user account preferences. 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": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePrefs",
                    "weight": 36,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-prefs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account\/prefs",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "prefs": {
                                    "type": "object",
                                    "description": "Prefs key-value JSON object.",
                                    "default": {},
                                    "x-example": "{}"
                                }
                            },
                            "required": [
                                "prefs"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/recovery": {
            "post": {
                "summary": "Create password recovery",
                "operationId": "accountCreateRecovery",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Sends the user an email with a temporary secret key for password reset. When the user clicks the confirmation link he is redirected back to your app password reset URL with the secret key and email address values attached to the URL query string. Use the query string params to submit a request to the [PUT \/account\/recovery](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updateRecovery) endpoint to complete the process. The verification link sent to the user's email address is valid for 1 hour.",
                "responses": {
                    "201": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createRecovery",
                    "weight": 38,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-recovery.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": [
                        "url:{url},email:{param-email}",
                        "url:{url},ip:{ip}"
                    ],
                    "scope": "sessions.write",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "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"
                                }
                            },
                            "required": [
                                "email",
                                "url"
                            ]
                        }
                    }
                ]
            },
            "put": {
                "summary": "Create password recovery (confirmation)",
                "operationId": "accountUpdateRecovery",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to complete the user account password reset. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST \/account\/recovery](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createRecovery) endpoint.\n\nPlease note that in order to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.",
                "responses": {
                    "200": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateRecovery",
                    "weight": 39,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-recovery.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},userId:{param-userId}",
                    "scope": "sessions.write",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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
                                }
                            },
                            "required": [
                                "userId",
                                "secret",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/sessions": {
            "get": {
                "summary": "List sessions",
                "operationId": "accountListSessions",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Get the list of active sessions across different devices for the currently logged in user.",
                "responses": {
                    "200": {
                        "description": "Sessions List",
                        "schema": {
                            "$ref": "#\/definitions\/sessionList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listSessions",
                    "weight": 11,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/list-sessions.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account\/sessions",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            },
            "delete": {
                "summary": "Delete sessions",
                "operationId": "accountDeleteSessions",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "account"
                ],
                "description": "Delete all sessions from the user account and remove any sessions cookies from the end client.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteSessions",
                    "weight": 12,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/delete-sessions.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md",
                    "rate-limit": 100,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/account\/sessions\/anonymous": {
            "post": {
                "summary": "Create anonymous session",
                "operationId": "accountCreateAnonymousSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to allow a new user to register an anonymous account in your project. This route will also create a new session for the user. To allow the new user to convert an anonymous account to a normal account, you need to update its [email and password](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updateEmail) or create an [OAuth2 session](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#CreateOAuth2Session).",
                "responses": {
                    "201": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createAnonymousSession",
                    "weight": 17,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-anonymous-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md",
                    "rate-limit": 50,
                    "rate-time": 3600,
                    "rate-key": "ip:{ip}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ]
            }
        },
        "\/account\/sessions\/email": {
            "post": {
                "summary": "Create email password session",
                "operationId": "accountCreateEmailPasswordSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Allow the user to login into their account by providing a valid email and password combination. This route will create a new session for the 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).",
                "responses": {
                    "201": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createEmailPasswordSession",
                    "weight": 16,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-email-password-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},email:{param-email}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password. Must be at least 8 chars.",
                                    "default": null,
                                    "x-example": "password"
                                }
                            },
                            "required": [
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/sessions\/magic-url": {
            "put": {
                "summary": "Update magic URL session",
                "operationId": "accountUpdateMagicURLSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to create a session from token. Provide the **userId** and **secret** parameters from the successful response of authentication flows initiated by token creation. For example, magic URL and phone login.",
                "responses": {
                    "201": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMagicURLSession",
                    "weight": 26,
                    "cookies": false,
                    "type": "",
                    "deprecated": true,
                    "demo": "account\/update-magic-u-r-l-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "ip:{ip},userId:{param-userId}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "secret": {
                                    "type": "string",
                                    "description": "Valid verification token.",
                                    "default": null,
                                    "x-example": "<SECRET>"
                                }
                            },
                            "required": [
                                "userId",
                                "secret"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/sessions\/phone": {
            "put": {
                "summary": "Update phone session",
                "operationId": "accountUpdatePhoneSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to create a session from token. Provide the **userId** and **secret** parameters from the successful response of authentication flows initiated by token creation. For example, magic URL and phone login.",
                "responses": {
                    "201": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePhoneSession",
                    "weight": 27,
                    "cookies": false,
                    "type": "",
                    "deprecated": true,
                    "demo": "account\/update-phone-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "ip:{ip},userId:{param-userId}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "secret": {
                                    "type": "string",
                                    "description": "Valid verification token.",
                                    "default": null,
                                    "x-example": "<SECRET>"
                                }
                            },
                            "required": [
                                "userId",
                                "secret"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/sessions\/token": {
            "post": {
                "summary": "Create session",
                "operationId": "accountCreateSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to create a session from token. Provide the **userId** and **secret** parameters from the successful response of authentication flows initiated by token creation. For example, magic URL and phone login.",
                "responses": {
                    "201": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createSession",
                    "weight": 18,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "ip:{ip},userId:{param-userId}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "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.",
                                    "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>"
                                }
                            },
                            "required": [
                                "userId",
                                "secret"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/sessions\/{sessionId}": {
            "get": {
                "summary": "Get session",
                "operationId": "accountGetSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to get a logged in user's session using a Session ID. Inputting 'current' will return the current session being used.",
                "responses": {
                    "200": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getSession",
                    "weight": 13,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/get-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/account\/sessions",
                    "offline-key": "{sessionId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "description": "Session ID. Use the string 'current' to get the current device session.",
                        "required": true,
                        "type": "string",
                        "x-example": "<SESSION_ID>",
                        "in": "path"
                    }
                ]
            },
            "patch": {
                "summary": "Update session",
                "operationId": "accountUpdateSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to extend a session's length. Extending a session is useful when session expiry is short. If the session was created using an OAuth provider, this endpoint refreshes the access token from the provider.",
                "responses": {
                    "200": {
                        "description": "Session",
                        "schema": {
                            "$ref": "#\/definitions\/session"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateSession",
                    "weight": 15,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "description": "Session ID. Use the string 'current' to update the current device session.",
                        "required": true,
                        "type": "string",
                        "x-example": "<SESSION_ID>",
                        "in": "path"
                    }
                ]
            },
            "delete": {
                "summary": "Delete session",
                "operationId": "accountDeleteSession",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "account"
                ],
                "description": "Logout the user. Use 'current' as the session ID to logout on this device, use a session ID to logout on another device. If you're looking to logout the user on all devices, use [Delete Sessions](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#deleteSessions) instead.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteSession",
                    "weight": 14,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/delete-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md",
                    "rate-limit": 100,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "description": "Session ID. Use the string 'current' to delete the current device session.",
                        "required": true,
                        "type": "string",
                        "x-example": "<SESSION_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/account\/status": {
            "patch": {
                "summary": "Update status",
                "operationId": "accountUpdateStatus",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Block the currently logged in user account. Behind the scene, the user record is not deleted but permanently blocked from any access. To completely delete a user, use the Users API instead.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateStatus",
                    "weight": 37,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-status.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/account\/tokens\/email": {
            "post": {
                "summary": "Create email token (OTP)",
                "operationId": "accountCreateEmailToken",
                "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 be registered, a new user will be created. 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).",
                "responses": {
                    "201": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createEmailToken",
                    "weight": 25,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-email-token.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},email:{param-email}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "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
                                }
                            },
                            "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. If you are on a mobile device you can leave the URL parameter empty, so that the login completion will be handled by your Appwrite instance by default.\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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMagicURLToken",
                    "weight": 24,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-magic-u-r-l-token.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md",
                    "rate-limit": 60,
                    "rate-time": 3600,
                    "rate-key": [
                        "url:{url},email:{param-email}",
                        "url:{url},ip:{ip}"
                    ],
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "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"
                                },
                                "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
                                }
                            },
                            "required": [
                                "userId",
                                "email"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/tokens\/oauth2\/{provider}": {
            "get": {
                "summary": "Create OAuth2 token",
                "operationId": "accountCreateOAuth2Token",
                "consumes": [
                    "application\/json"
                ],
                "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 authentication succeeds, `userId` and `secret` of a token will be appended to the success URL as query parameters. These can be used to create a new session using the [Create session](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#createSession) endpoint.\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).",
                "responses": {
                    "301": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "createOAuth2Token",
                    "weight": 23,
                    "cookies": false,
                    "type": "webAuth",
                    "deprecated": false,
                    "demo": "account\/create-o-auth2token.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md",
                    "rate-limit": 50,
                    "rate-time": 3600,
                    "rate-key": "ip:{ip}",
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "parameters": [
                    {
                        "name": "provider",
                        "description": "OAuth2 Provider. Currently, supported providers are: amazon, apple, auth0, authentik, autodesk, bitbucket, bitly, box, dailymotion, discord, disqus, dropbox, etsy, facebook, github, gitlab, google, linkedin, microsoft, notion, oidc, okta, paypal, paypalSandbox, podio, salesforce, slack, spotify, stripe, tradeshift, tradeshiftBox, twitch, wordpress, 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",
                            "github",
                            "gitlab",
                            "google",
                            "linkedin",
                            "microsoft",
                            "notion",
                            "oidc",
                            "okta",
                            "paypal",
                            "paypalSandbox",
                            "podio",
                            "salesforce",
                            "slack",
                            "spotify",
                            "stripe",
                            "tradeshift",
                            "tradeshiftBox",
                            "twitch",
                            "wordpress",
                            "yahoo",
                            "yammer",
                            "yandex",
                            "zoho",
                            "zoom",
                            "mock"
                        ],
                        "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\/tokens\/phone": {
            "post": {
                "summary": "Create phone token",
                "operationId": "accountCreatePhoneToken",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Sends the user an SMS with a secret key for creating a session. If the provided user ID has not be registered, a new user will be created. 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 phone 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).",
                "responses": {
                    "201": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createPhoneToken",
                    "weight": 28,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-phone-token.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": [
                        "url:{url},phone:{param-phone}",
                        "url:{url},ip:{ip}"
                    ],
                    "scope": "sessions.write",
                    "platforms": [
                        "server",
                        "client"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": []
                    }
                },
                "security": [
                    {
                        "Project": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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.",
                                    "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"
                                }
                            },
                            "required": [
                                "userId",
                                "phone"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/verification": {
            "post": {
                "summary": "Create email verification",
                "operationId": "accountCreateVerification",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updateVerification). The verification link sent to the user's email address is valid for 7 days.\n\nPlease note that in order to avoid a [Redirect Attack](https:\/\/github.com\/OWASP\/CheatSheetSeries\/blob\/master\/cheatsheets\/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.\n",
                "responses": {
                    "201": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createVerification",
                    "weight": 40,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-verification.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},userId:{userId}",
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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"
                                }
                            },
                            "required": [
                                "url"
                            ]
                        }
                    }
                ]
            },
            "put": {
                "summary": "Create email verification (confirmation)",
                "operationId": "accountUpdateVerification",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code.",
                "responses": {
                    "200": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateVerification",
                    "weight": 41,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-verification.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},userId:{param-userId}",
                    "scope": "public",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "userId": {
                                    "type": "string",
                                    "description": "User ID.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "secret": {
                                    "type": "string",
                                    "description": "Valid verification token.",
                                    "default": null,
                                    "x-example": "<SECRET>"
                                }
                            },
                            "required": [
                                "userId",
                                "secret"
                            ]
                        }
                    }
                ]
            }
        },
        "\/account\/verification\/phone": {
            "post": {
                "summary": "Create phone verification",
                "operationId": "accountCreatePhoneVerification",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to send a verification SMS to the currently logged in user. This endpoint is meant for use after updating a user's phone number using the [accountUpdatePhone](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updatePhone) endpoint. Learn more about how to [complete the verification process](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#updatePhoneVerification). The verification code sent to the user's phone number is valid for 15 minutes.",
                "responses": {
                    "201": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createPhoneVerification",
                    "weight": 42,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/create-phone-verification.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": [
                        "url:{url},userId:{userId}",
                        "url:{url},ip:{ip}"
                    ],
                    "scope": "account",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ]
            },
            "put": {
                "summary": "Update phone verification (confirmation)",
                "operationId": "accountUpdatePhoneVerification",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "account"
                ],
                "description": "Use this endpoint to complete the user phone verification process. Use the **userId** and **secret** that were sent to your user's phone number to verify the user email ownership. If confirmed this route will return a 200 status code.",
                "responses": {
                    "200": {
                        "description": "Token",
                        "schema": {
                            "$ref": "#\/definitions\/token"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePhoneVerification",
                    "weight": 43,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "account\/update-phone-verification.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "userId:{param-userId}",
                    "scope": "public",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "userId": {
                                    "type": "string",
                                    "description": "User ID.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "secret": {
                                    "type": "string",
                                    "description": "Valid verification token.",
                                    "default": null,
                                    "x-example": "<SECRET>"
                                }
                            },
                            "required": [
                                "userId",
                                "secret"
                            ]
                        }
                    }
                ]
            }
        },
        "\/avatars\/browsers\/{code}": {
            "get": {
                "summary": "Get browser icon",
                "operationId": "avatarsGetBrowser",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/png"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "You can use this endpoint to show different browser icons to your users. The code argument receives the browser code as it appears in your user [GET \/account\/sessions](https:\/\/appwrite.io\/docs\/references\/cloud\/client-web\/account#getSessions) endpoint. Use width, height and quality arguments to change the output settings.\n\nWhen one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getBrowser",
                    "weight": 60,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-browser.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "code",
                        "description": "Browser Code.",
                        "required": true,
                        "type": "string",
                        "x-example": "aa",
                        "enum": [
                            "aa",
                            "an",
                            "ch",
                            "ci",
                            "cm",
                            "cr",
                            "ff",
                            "sf",
                            "mf",
                            "ps",
                            "oi",
                            "om",
                            "op",
                            "on"
                        ],
                        "x-enum-name": "Browser",
                        "x-enum-keys": [
                            "Avant Browser",
                            "Android WebView Beta",
                            "Google Chrome",
                            "Google Chrome (iOS)",
                            "Google Chrome (Mobile)",
                            "Chromium",
                            "Mozilla Firefox",
                            "Safari",
                            "Mobile Safari",
                            "Microsoft Edge",
                            "Microsoft Edge (iOS)",
                            "Opera Mini",
                            "Opera",
                            "Opera (Next)"
                        ],
                        "in": "path"
                    },
                    {
                        "name": "width",
                        "description": "Image width. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    },
                    {
                        "name": "height",
                        "description": "Image height. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    },
                    {
                        "name": "quality",
                        "description": "Image quality. Pass an integer between 0 to 100. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    }
                ]
            }
        },
        "\/avatars\/credit-cards\/{code}": {
            "get": {
                "summary": "Get credit card icon",
                "operationId": "avatarsGetCreditCard",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/png"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "The credit card endpoint will return you the icon of the credit card provider you need. Use width, height and quality arguments to change the output settings.\n\nWhen one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.\n",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getCreditCard",
                    "weight": 59,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-credit-card.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "code",
                        "description": "Credit Card Code. Possible values: amex, argencard, cabal, cencosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro.",
                        "required": true,
                        "type": "string",
                        "x-example": "amex",
                        "enum": [
                            "amex",
                            "argencard",
                            "cabal",
                            "cencosud",
                            "diners",
                            "discover",
                            "elo",
                            "hipercard",
                            "jcb",
                            "mastercard",
                            "naranja",
                            "targeta-shopping",
                            "union-china-pay",
                            "visa",
                            "mir",
                            "maestro"
                        ],
                        "x-enum-name": "CreditCard",
                        "x-enum-keys": [
                            "American Express",
                            "Argencard",
                            "Cabal",
                            "Cencosud",
                            "Diners Club",
                            "Discover",
                            "Elo",
                            "Hipercard",
                            "JCB",
                            "Mastercard",
                            "Naranja",
                            "Tarjeta Shopping",
                            "Union China Pay",
                            "Visa",
                            "MIR",
                            "Maestro"
                        ],
                        "in": "path"
                    },
                    {
                        "name": "width",
                        "description": "Image width. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    },
                    {
                        "name": "height",
                        "description": "Image height. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    },
                    {
                        "name": "quality",
                        "description": "Image quality. Pass an integer between 0 to 100. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    }
                ]
            }
        },
        "\/avatars\/favicon": {
            "get": {
                "summary": "Get favicon",
                "operationId": "avatarsGetFavicon",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/*"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "Use this endpoint to fetch the favorite icon (AKA favicon) of any remote website URL.\n\nThis endpoint does not follow HTTP redirects.",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFavicon",
                    "weight": 63,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-favicon.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "url",
                        "description": "Website URL which you want to fetch the favicon from.",
                        "required": true,
                        "type": "string",
                        "format": "url",
                        "x-example": "https:\/\/example.com",
                        "in": "query"
                    }
                ]
            }
        },
        "\/avatars\/flags\/{code}": {
            "get": {
                "summary": "Get country flag",
                "operationId": "avatarsGetFlag",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/png"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "You can use this endpoint to show different country flags icons to your users. The code argument receives the 2 letter country code. Use width, height and quality arguments to change the output settings. Country codes follow the [ISO 3166-1](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) standard.\n\nWhen one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.\n",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFlag",
                    "weight": 61,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-flag.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "code",
                        "description": "Country Code. ISO Alpha-2 country code format.",
                        "required": true,
                        "type": "string",
                        "x-example": "af",
                        "enum": [
                            "af",
                            "ao",
                            "al",
                            "ad",
                            "ae",
                            "ar",
                            "am",
                            "ag",
                            "au",
                            "at",
                            "az",
                            "bi",
                            "be",
                            "bj",
                            "bf",
                            "bd",
                            "bg",
                            "bh",
                            "bs",
                            "ba",
                            "by",
                            "bz",
                            "bo",
                            "br",
                            "bb",
                            "bn",
                            "bt",
                            "bw",
                            "cf",
                            "ca",
                            "ch",
                            "cl",
                            "cn",
                            "ci",
                            "cm",
                            "cd",
                            "cg",
                            "co",
                            "km",
                            "cv",
                            "cr",
                            "cu",
                            "cy",
                            "cz",
                            "de",
                            "dj",
                            "dm",
                            "dk",
                            "do",
                            "dz",
                            "ec",
                            "eg",
                            "er",
                            "es",
                            "ee",
                            "et",
                            "fi",
                            "fj",
                            "fr",
                            "fm",
                            "ga",
                            "gb",
                            "ge",
                            "gh",
                            "gn",
                            "gm",
                            "gw",
                            "gq",
                            "gr",
                            "gd",
                            "gt",
                            "gy",
                            "hn",
                            "hr",
                            "ht",
                            "hu",
                            "id",
                            "in",
                            "ie",
                            "ir",
                            "iq",
                            "is",
                            "il",
                            "it",
                            "jm",
                            "jo",
                            "jp",
                            "kz",
                            "ke",
                            "kg",
                            "kh",
                            "ki",
                            "kn",
                            "kr",
                            "kw",
                            "la",
                            "lb",
                            "lr",
                            "ly",
                            "lc",
                            "li",
                            "lk",
                            "ls",
                            "lt",
                            "lu",
                            "lv",
                            "ma",
                            "mc",
                            "md",
                            "mg",
                            "mv",
                            "mx",
                            "mh",
                            "mk",
                            "ml",
                            "mt",
                            "mm",
                            "me",
                            "mn",
                            "mz",
                            "mr",
                            "mu",
                            "mw",
                            "my",
                            "na",
                            "ne",
                            "ng",
                            "ni",
                            "nl",
                            "no",
                            "np",
                            "nr",
                            "nz",
                            "om",
                            "pk",
                            "pa",
                            "pe",
                            "ph",
                            "pw",
                            "pg",
                            "pl",
                            "pf",
                            "kp",
                            "pt",
                            "py",
                            "qa",
                            "ro",
                            "ru",
                            "rw",
                            "sa",
                            "sd",
                            "sn",
                            "sg",
                            "sb",
                            "sl",
                            "sv",
                            "sm",
                            "so",
                            "rs",
                            "ss",
                            "st",
                            "sr",
                            "sk",
                            "si",
                            "se",
                            "sz",
                            "sc",
                            "sy",
                            "td",
                            "tg",
                            "th",
                            "tj",
                            "tm",
                            "tl",
                            "to",
                            "tt",
                            "tn",
                            "tr",
                            "tv",
                            "tz",
                            "ug",
                            "ua",
                            "uy",
                            "us",
                            "uz",
                            "va",
                            "vc",
                            "ve",
                            "vn",
                            "vu",
                            "ws",
                            "ye",
                            "za",
                            "zm",
                            "zw"
                        ],
                        "x-enum-name": "Flag",
                        "x-enum-keys": [
                            "Afghanistan",
                            "Angola",
                            "Albania",
                            "Andorra",
                            "United Arab Emirates",
                            "Argentina",
                            "Armenia",
                            "Antigua and Barbuda",
                            "Australia",
                            "Austria",
                            "Azerbaijan",
                            "Burundi",
                            "Belgium",
                            "Benin",
                            "Burkina Faso",
                            "Bangladesh",
                            "Bulgaria",
                            "Bahrain",
                            "Bahamas",
                            "Bosnia and Herzegovina",
                            "Belarus",
                            "Belize",
                            "Bolivia",
                            "Brazil",
                            "Barbados",
                            "Brunei Darussalam",
                            "Bhutan",
                            "Botswana",
                            "Central African Republic",
                            "Canada",
                            "Switzerland",
                            "Chile",
                            "China",
                            "C\u00f4te d'Ivoire",
                            "Cameroon",
                            "Democratic Republic of the Congo",
                            "Republic of the Congo",
                            "Colombia",
                            "Comoros",
                            "Cape Verde",
                            "Costa Rica",
                            "Cuba",
                            "Cyprus",
                            "Czech Republic",
                            "Germany",
                            "Djibouti",
                            "Dominica",
                            "Denmark",
                            "Dominican Republic",
                            "Algeria",
                            "Ecuador",
                            "Egypt",
                            "Eritrea",
                            "Spain",
                            "Estonia",
                            "Ethiopia",
                            "Finland",
                            "Fiji",
                            "France",
                            "Micronesia (Federated States of)",
                            "Gabon",
                            "United Kingdom",
                            "Georgia",
                            "Ghana",
                            "Guinea",
                            "Gambia",
                            "Guinea-Bissau",
                            "Equatorial Guinea",
                            "Greece",
                            "Grenada",
                            "Guatemala",
                            "Guyana",
                            "Honduras",
                            "Croatia",
                            "Haiti",
                            "Hungary",
                            "Indonesia",
                            "India",
                            "Ireland",
                            "Iran (Islamic Republic of)",
                            "Iraq",
                            "Iceland",
                            "Israel",
                            "Italy",
                            "Jamaica",
                            "Jordan",
                            "Japan",
                            "Kazakhstan",
                            "Kenya",
                            "Kyrgyzstan",
                            "Cambodia",
                            "Kiribati",
                            "Saint Kitts and Nevis",
                            "South Korea",
                            "Kuwait",
                            "Lao People's Democratic Republic",
                            "Lebanon",
                            "Liberia",
                            "Libya",
                            "Saint Lucia",
                            "Liechtenstein",
                            "Sri Lanka",
                            "Lesotho",
                            "Lithuania",
                            "Luxembourg",
                            "Latvia",
                            "Morocco",
                            "Monaco",
                            "Moldova",
                            "Madagascar",
                            "Maldives",
                            "Mexico",
                            "Marshall Islands",
                            "North Macedonia",
                            "Mali",
                            "Malta",
                            "Myanmar",
                            "Montenegro",
                            "Mongolia",
                            "Mozambique",
                            "Mauritania",
                            "Mauritius",
                            "Malawi",
                            "Malaysia",
                            "Namibia",
                            "Niger",
                            "Nigeria",
                            "Nicaragua",
                            "Netherlands",
                            "Norway",
                            "Nepal",
                            "Nauru",
                            "New Zealand",
                            "Oman",
                            "Pakistan",
                            "Panama",
                            "Peru",
                            "Philippines",
                            "Palau",
                            "Papua New Guinea",
                            "Poland",
                            "French Polynesia",
                            "North Korea",
                            "Portugal",
                            "Paraguay",
                            "Qatar",
                            "Romania",
                            "Russia",
                            "Rwanda",
                            "Saudi Arabia",
                            "Sudan",
                            "Senegal",
                            "Singapore",
                            "Solomon Islands",
                            "Sierra Leone",
                            "El Salvador",
                            "San Marino",
                            "Somalia",
                            "Serbia",
                            "South Sudan",
                            "Sao Tome and Principe",
                            "Suriname",
                            "Slovakia",
                            "Slovenia",
                            "Sweden",
                            "Eswatini",
                            "Seychelles",
                            "Syria",
                            "Chad",
                            "Togo",
                            "Thailand",
                            "Tajikistan",
                            "Turkmenistan",
                            "Timor-Leste",
                            "Tonga",
                            "Trinidad and Tobago",
                            "Tunisia",
                            "Turkey",
                            "Tuvalu",
                            "Tanzania",
                            "Uganda",
                            "Ukraine",
                            "Uruguay",
                            "United States",
                            "Uzbekistan",
                            "Vatican City",
                            "Saint Vincent and the Grenadines",
                            "Venezuela",
                            "Vietnam",
                            "Vanuatu",
                            "Samoa",
                            "Yemen",
                            "South Africa",
                            "Zambia",
                            "Zimbabwe"
                        ],
                        "in": "path"
                    },
                    {
                        "name": "width",
                        "description": "Image width. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    },
                    {
                        "name": "height",
                        "description": "Image height. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    },
                    {
                        "name": "quality",
                        "description": "Image quality. Pass an integer between 0 to 100. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "in": "query"
                    }
                ]
            }
        },
        "\/avatars\/image": {
            "get": {
                "summary": "Get image from URL",
                "operationId": "avatarsGetImage",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/*"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "Use this endpoint to fetch a remote image URL and crop it to any image size you want. This endpoint is very useful if you need to crop and display remote images in your app or in case you want to make sure a 3rd party image is properly served using a TLS protocol.\n\nWhen one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 400x400px.\n\nThis endpoint does not follow HTTP redirects.",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getImage",
                    "weight": 62,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-image.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "url",
                        "description": "Image URL which you want to crop.",
                        "required": true,
                        "type": "string",
                        "format": "url",
                        "x-example": "https:\/\/example.com",
                        "in": "query"
                    },
                    {
                        "name": "width",
                        "description": "Resize preview image width, Pass an integer between 0 to 2000. Defaults to 400.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 400,
                        "in": "query"
                    },
                    {
                        "name": "height",
                        "description": "Resize preview image height, Pass an integer between 0 to 2000. Defaults to 400.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 400,
                        "in": "query"
                    }
                ]
            }
        },
        "\/avatars\/initials": {
            "get": {
                "summary": "Get user initials",
                "operationId": "avatarsGetInitials",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/png"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "Use this endpoint to show your user initials avatar icon on your website or app. By default, this route will try to print your logged-in user name or email initials. You can also overwrite the user name if you pass the 'name' parameter. If no name is given and no user is logged, an empty avatar will be returned.\n\nYou can use the color and background params to change the avatar colors. By default, a random theme will be selected. The random theme will persist for the user's initials when reloading the same theme will always return for the same initials.\n\nWhen one dimension is specified and the other is 0, the image is scaled with preserved aspect ratio. If both dimensions are 0, the API provides an image at source quality. If dimensions are not specified, the default size of image returned is 100x100px.\n",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getInitials",
                    "weight": 65,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-initials.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "name",
                        "description": "Full Name. When empty, current user name or email will be used. Max length: 128 chars.",
                        "required": false,
                        "type": "string",
                        "x-example": "<NAME>",
                        "default": "",
                        "in": "query"
                    },
                    {
                        "name": "width",
                        "description": "Image width. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 500,
                        "in": "query"
                    },
                    {
                        "name": "height",
                        "description": "Image height. Pass an integer between 0 to 2000. Defaults to 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 500,
                        "in": "query"
                    },
                    {
                        "name": "background",
                        "description": "Changes background color. By default a random color will be picked and stay will persistent to the given name.",
                        "required": false,
                        "type": "string",
                        "default": "",
                        "in": "query"
                    }
                ]
            }
        },
        "\/avatars\/qr": {
            "get": {
                "summary": "Get QR code",
                "operationId": "avatarsGetQR",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "image\/png"
                ],
                "tags": [
                    "avatars"
                ],
                "description": "Converts a given plain text to a QR code image. You can use the query parameters to change the size and style of the resulting image.\n",
                "responses": {
                    "200": {
                        "description": "Image",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQR",
                    "weight": 64,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "avatars\/get-q-r.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "avatars.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "text",
                        "description": "Plain text to be converted to QR code image.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEXT>",
                        "in": "query"
                    },
                    {
                        "name": "size",
                        "description": "QR code size. Pass an integer between 1 to 1000. Defaults to 400.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 1,
                        "default": 400,
                        "in": "query"
                    },
                    {
                        "name": "margin",
                        "description": "Margin from edge. Pass an integer between 0 to 10. Defaults to 1.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 1,
                        "in": "query"
                    },
                    {
                        "name": "download",
                        "description": "Return resulting image with 'Content-Disposition: attachment ' headers for the browser to start downloading it. Pass 0 for no header, or 1 for otherwise. Default value is set to 0.",
                        "required": false,
                        "type": "boolean",
                        "x-example": false,
                        "default": false,
                        "in": "query"
                    }
                ]
            }
        },
        "\/databases": {
            "get": {
                "summary": "List databases",
                "operationId": "databasesList",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "list",
                    "weight": 70,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/list.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "databases.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: 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"
                    }
                ]
            },
            "post": {
                "summary": "Create database",
                "operationId": "databasesCreate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create a new Database.\n",
                "responses": {
                    "201": {
                        "description": "Database",
                        "schema": {
                            "$ref": "#\/definitions\/database"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "create",
                    "weight": 69,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "databases.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}": {
            "get": {
                "summary": "Get database",
                "operationId": "databasesGet",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 71,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "databases.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "databaseId",
                        "description": "Database ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<DATABASE_ID>",
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Update database",
                "operationId": "databasesUpdate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Update a database by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Database",
                        "schema": {
                            "$ref": "#\/definitions\/database"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "update",
                    "weight": 73,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "databases.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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
                                }
                            },
                            "required": [
                                "name"
                            ]
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete database",
                "operationId": "databasesDelete",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "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"
                    }
                },
                "x-appwrite": {
                    "method": "delete",
                    "weight": 74,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/delete.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "databases.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "databaseId",
                        "description": "Database ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<DATABASE_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections": {
            "get": {
                "summary": "List collections",
                "operationId": "databasesListCollections",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "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": "Collections List",
                        "schema": {
                            "$ref": "#\/definitions\/collectionList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listCollections",
                    "weight": 76,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/list-collections.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            },
            "post": {
                "summary": "Create collection",
                "operationId": "databasesCreateCollection",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/collection"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createCollection",
                    "weight": 75,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-collection.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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\")\"]",
                                    "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}": {
            "get": {
                "summary": "Get collection",
                "operationId": "databasesGetCollection",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.",
                "responses": {
                    "200": {
                        "description": "Collection",
                        "schema": {
                            "$ref": "#\/definitions\/collection"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getCollection",
                    "weight": 77,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/get-collection.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "databasesUpdateCollection",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Update a collection by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Collection",
                        "schema": {
                            "$ref": "#\/definitions\/collection"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateCollection",
                    "weight": 79,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-collection.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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": {
                                    "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": "databasesDeleteCollection",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteCollection",
                    "weight": 80,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/delete-collection.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes": {
            "get": {
                "summary": "List attributes",
                "operationId": "databasesListAttributes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "List attributes in the collection.",
                "responses": {
                    "200": {
                        "description": "Attributes List",
                        "schema": {
                            "$ref": "#\/definitions\/attributeList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listAttributes",
                    "weight": 91,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/list-attributes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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, size, required, array, status, error",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "in": "query"
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean": {
            "post": {
                "summary": "Create boolean attribute",
                "operationId": "databasesCreateBooleanAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create a boolean attribute.\n",
                "responses": {
                    "202": {
                        "description": "AttributeBoolean",
                        "schema": {
                            "$ref": "#\/definitions\/attributeBoolean"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createBooleanAttribute",
                    "weight": 88,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-boolean-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "boolean",
                                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                                    "default": null,
                                    "x-example": false
                                },
                                "array": {
                                    "type": "boolean",
                                    "description": "Is attribute an array?",
                                    "default": false,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "key",
                                "required"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/boolean\/{key}": {
            "patch": {
                "summary": "Update boolean attribute",
                "operationId": "databasesUpdateBooleanAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update a boolean attribute. Changing the `default` value will not update already existing documents.",
                "responses": {
                    "200": {
                        "description": "AttributeBoolean",
                        "schema": {
                            "$ref": "#\/definitions\/attributeBoolean"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateBooleanAttribute",
                    "weight": 100,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-boolean-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "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
                                }
                            },
                            "required": [
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/datetime": {
            "post": {
                "summary": "Create datetime attribute",
                "operationId": "databasesCreateDatetimeAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create a date time attribute according to the ISO 8601 standard.",
                "responses": {
                    "202": {
                        "description": "AttributeDatetime",
                        "schema": {
                            "$ref": "#\/definitions\/attributeDatetime"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createDatetimeAttribute",
                    "weight": 89,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-datetime-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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 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": null
                                },
                                "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",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update a date time attribute. Changing the `default` value will not update already existing documents.",
                "responses": {
                    "200": {
                        "description": "AttributeDatetime",
                        "schema": {
                            "$ref": "#\/definitions\/attributeDatetime"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateDatetimeAttribute",
                    "weight": 101,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-datetime-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": null,
                                    "x-nullable": true
                                },
                                "newKey": {
                                    "type": "string",
                                    "description": "New attribute key.",
                                    "default": null,
                                    "x-example": null
                                }
                            },
                            "required": [
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email": {
            "post": {
                "summary": "Create email attribute",
                "operationId": "databasesCreateEmailAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create an email attribute.\n",
                "responses": {
                    "202": {
                        "description": "AttributeEmail",
                        "schema": {
                            "$ref": "#\/definitions\/attributeEmail"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createEmailAttribute",
                    "weight": 82,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-email-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "email@example.com"
                                },
                                "array": {
                                    "type": "boolean",
                                    "description": "Is attribute an array?",
                                    "default": false,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "key",
                                "required"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/email\/{key}": {
            "patch": {
                "summary": "Update email attribute",
                "operationId": "databasesUpdateEmailAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update an email attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeEmail",
                        "schema": {
                            "$ref": "#\/definitions\/attributeEmail"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateEmailAttribute",
                    "weight": 94,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-email-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "email@example.com",
                                    "x-nullable": true
                                },
                                "newKey": {
                                    "type": "string",
                                    "description": "New attribute key.",
                                    "default": null,
                                    "x-example": null
                                }
                            },
                            "required": [
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum": {
            "post": {
                "summary": "Create enum attribute",
                "operationId": "databasesCreateEnumAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create an enumeration attribute. The `elements` param acts as a white-list of accepted values for this attribute. \n",
                "responses": {
                    "202": {
                        "description": "AttributeEnum",
                        "schema": {
                            "$ref": "#\/definitions\/attributeEnum"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createEnumAttribute",
                    "weight": 83,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-enum-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-attribute-enum.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "elements": {
                                    "type": "array",
                                    "description": "Array of elements in enumerated type. Uses length of longest element to determine size. Maximum of 100 elements are allowed, each 255 characters long.",
                                    "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>"
                                },
                                "array": {
                                    "type": "boolean",
                                    "description": "Is attribute an array?",
                                    "default": false,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "key",
                                "elements",
                                "required"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/enum\/{key}": {
            "patch": {
                "summary": "Update enum attribute",
                "operationId": "databasesUpdateEnumAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update an enum attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeEnum",
                        "schema": {
                            "$ref": "#\/definitions\/attributeEnum"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateEnumAttribute",
                    "weight": 95,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-enum-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
                                "elements": {
                                    "type": "array",
                                    "description": "Array of elements in enumerated type. Uses length of longest element to determine size. Maximum of 100 elements are allowed, each 255 characters long.",
                                    "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
                                }
                            },
                            "required": [
                                "elements",
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float": {
            "post": {
                "summary": "Create float attribute",
                "operationId": "databasesCreateFloatAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create a float attribute. Optionally, minimum and maximum values can be provided.\n",
                "responses": {
                    "202": {
                        "description": "AttributeFloat",
                        "schema": {
                            "$ref": "#\/definitions\/attributeFloat"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createFloatAttribute",
                    "weight": 87,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-float-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "min": {
                                    "type": "number",
                                    "description": "Minimum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "max": {
                                    "type": "number",
                                    "description": "Maximum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "default": {
                                    "type": "number",
                                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                                    "default": null,
                                    "x-example": null
                                },
                                "array": {
                                    "type": "boolean",
                                    "description": "Is attribute an array?",
                                    "default": false,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "key",
                                "required"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/float\/{key}": {
            "patch": {
                "summary": "Update float attribute",
                "operationId": "databasesUpdateFloatAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update a float attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeFloat",
                        "schema": {
                            "$ref": "#\/definitions\/attributeFloat"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateFloatAttribute",
                    "weight": 99,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-float-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "min": {
                                    "type": "number",
                                    "description": "Minimum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "max": {
                                    "type": "number",
                                    "description": "Maximum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "default": {
                                    "type": "number",
                                    "description": "Default value for attribute when not provided. 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
                                }
                            },
                            "required": [
                                "required",
                                "min",
                                "max",
                                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createIntegerAttribute",
                    "weight": 86,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-integer-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "min": {
                                    "type": "integer",
                                    "description": "Minimum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "max": {
                                    "type": "integer",
                                    "description": "Maximum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "default": {
                                    "type": "integer",
                                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                                    "default": null,
                                    "x-example": null
                                },
                                "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"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update an integer attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeInteger",
                        "schema": {
                            "$ref": "#\/definitions\/attributeInteger"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateIntegerAttribute",
                    "weight": 98,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-integer-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "min": {
                                    "type": "integer",
                                    "description": "Minimum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "max": {
                                    "type": "integer",
                                    "description": "Maximum value to enforce on new documents",
                                    "default": null,
                                    "x-example": null
                                },
                                "default": {
                                    "type": "integer",
                                    "description": "Default value for attribute when not provided. 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
                                }
                            },
                            "required": [
                                "required",
                                "min",
                                "max",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip": {
            "post": {
                "summary": "Create IP address attribute",
                "operationId": "databasesCreateIpAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create IP address attribute.\n",
                "responses": {
                    "202": {
                        "description": "AttributeIP",
                        "schema": {
                            "$ref": "#\/definitions\/attributeIp"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createIpAttribute",
                    "weight": 84,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-ip-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": null
                                },
                                "array": {
                                    "type": "boolean",
                                    "description": "Is attribute an array?",
                                    "default": false,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "key",
                                "required"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/ip\/{key}": {
            "patch": {
                "summary": "Update IP address attribute",
                "operationId": "databasesUpdateIpAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update an ip attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeIP",
                        "schema": {
                            "$ref": "#\/definitions\/attributeIp"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateIpAttribute",
                    "weight": 96,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-ip-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": null,
                                    "x-nullable": true
                                },
                                "newKey": {
                                    "type": "string",
                                    "description": "New attribute key.",
                                    "default": null,
                                    "x-example": null
                                }
                            },
                            "required": [
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/relationship": {
            "post": {
                "summary": "Create relationship attribute",
                "operationId": "databasesCreateRelationshipAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n",
                "responses": {
                    "202": {
                        "description": "AttributeRelationship",
                        "schema": {
                            "$ref": "#\/definitions\/attributeRelationship"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createRelationshipAttribute",
                    "weight": 90,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-relationship-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
                                "relatedCollectionId": {
                                    "type": "string",
                                    "description": "Related Collection ID. You can create a new collection using the Database service [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection).",
                                    "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
                                },
                                "twoWayKey": {
                                    "type": "string",
                                    "description": "Two Way Attribute Key.",
                                    "default": null,
                                    "x-example": null
                                },
                                "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string": {
            "post": {
                "summary": "Create string attribute",
                "operationId": "databasesCreateStringAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create a string attribute.\n",
                "responses": {
                    "202": {
                        "description": "AttributeString",
                        "schema": {
                            "$ref": "#\/definitions\/attributeString"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createStringAttribute",
                    "weight": 81,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-string-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "size": {
                                    "type": "integer",
                                    "description": "Attribute size for text attributes, in number of characters.",
                                    "default": null,
                                    "x-example": 1
                                },
                                "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>"
                                },
                                "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/string\/{key}": {
            "patch": {
                "summary": "Update string attribute",
                "operationId": "databasesUpdateStringAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update a string attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeString",
                        "schema": {
                            "$ref": "#\/definitions\/attributeString"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateStringAttribute",
                    "weight": 93,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-string-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                },
                                "size": {
                                    "type": "integer",
                                    "description": "Maximum size of the string attribute.",
                                    "default": null,
                                    "x-example": 1
                                },
                                "newKey": {
                                    "type": "string",
                                    "description": "New attribute key.",
                                    "default": null,
                                    "x-example": null
                                }
                            },
                            "required": [
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url": {
            "post": {
                "summary": "Create URL attribute",
                "operationId": "databasesCreateUrlAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Create a URL attribute.\n",
                "responses": {
                    "202": {
                        "description": "AttributeURL",
                        "schema": {
                            "$ref": "#\/definitions\/attributeUrl"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createUrlAttribute",
                    "weight": 85,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-url-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "https:\/\/example.com"
                                },
                                "array": {
                                    "type": "boolean",
                                    "description": "Is attribute an array?",
                                    "default": false,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "key",
                                "required"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/url\/{key}": {
            "patch": {
                "summary": "Update URL attribute",
                "operationId": "databasesUpdateUrlAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update an url attribute. Changing the `default` value will not update already existing documents.\n",
                "responses": {
                    "200": {
                        "description": "AttributeURL",
                        "schema": {
                            "$ref": "#\/definitions\/attributeUrl"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateUrlAttribute",
                    "weight": 97,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-url-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "https:\/\/example.com",
                                    "x-nullable": true
                                },
                                "newKey": {
                                    "type": "string",
                                    "description": "New attribute key.",
                                    "default": null,
                                    "x-example": null
                                }
                            },
                            "required": [
                                "required",
                                "default"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/{key}": {
            "get": {
                "summary": "Get attribute",
                "operationId": "databasesGetAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Get attribute by ID.",
                "responses": {
                    "200": {
                        "description": "AttributeBoolean, or AttributeInteger, or AttributeFloat, or AttributeEmail, or AttributeEnum, or AttributeURL, or AttributeIP, or AttributeDatetime, or AttributeRelationship, or AttributeString",
                        "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-appwrite": {
                    "method": "getAttribute",
                    "weight": 92,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/get-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            },
            "delete": {
                "summary": "Delete attribute",
                "operationId": "databasesDeleteAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Deletes an attribute.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteAttribute",
                    "weight": 103,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/delete-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/attributes\/{key}\/relationship": {
            "patch": {
                "summary": "Update relationship attribute",
                "operationId": "databasesUpdateRelationshipAttribute",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Update relationship attribute. [Learn more about relationship attributes](https:\/\/appwrite.io\/docs\/databases-relationships#relationship-attributes).\n",
                "responses": {
                    "200": {
                        "description": "AttributeRelationship",
                        "schema": {
                            "$ref": "#\/definitions\/attributeRelationship"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateRelationshipAttribute",
                    "weight": 102,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-relationship-attribute.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
                                "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
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/documents": {
            "get": {
                "summary": "List documents",
                "operationId": "databasesListDocuments",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/documentList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listDocuments",
                    "weight": 109,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/list-documents.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "documents.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/databases\/{databaseId}\/collections\/{collectionId}\/documents",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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"
                    }
                ]
            },
            "post": {
                "summary": "Create document",
                "operationId": "databasesCreateDocument",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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.",
                "responses": {
                    "201": {
                        "description": "Document",
                        "schema": {
                            "$ref": "#\/definitions\/document"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createDocument",
                    "weight": 108,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-document.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md",
                    "rate-limit": 120,
                    "rate-time": 60,
                    "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
                    "scope": "documents.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/databases\/{databaseId}\/collections\/{collectionId}\/documents",
                    "offline-key": "{documentId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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.",
                                    "default": null,
                                    "x-example": "<DOCUMENT_ID>"
                                },
                                "data": {
                                    "type": "object",
                                    "description": "Document data as JSON object.",
                                    "default": {},
                                    "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).",
                                    "default": null,
                                    "x-example": "[\"read(\"any\")\"]",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            },
                            "required": [
                                "documentId",
                                "data"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/documents\/{documentId}": {
            "get": {
                "summary": "Get document",
                "operationId": "databasesGetDocument",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getDocument",
                    "weight": 110,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/get-document.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "documents.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/databases\/{databaseId}\/collections\/{collectionId}\/documents",
                    "offline-key": "{documentId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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"
                    }
                ]
            },
            "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateDocument",
                    "weight": 112,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/update-document.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md",
                    "rate-limit": 120,
                    "rate-time": 60,
                    "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
                    "scope": "documents.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/databases\/{databaseId}\/collections\/{collectionId}\/documents",
                    "offline-key": "{documentId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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": "{}"
                                },
                                "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"
                                    }
                                }
                            }
                        }
                    }
                ]
            },
            "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"
                    }
                },
                "x-appwrite": {
                    "method": "deleteDocument",
                    "weight": 113,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/delete-document.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md",
                    "rate-limit": 60,
                    "rate-time": 60,
                    "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
                    "scope": "documents.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/databases\/{databaseId}\/collections\/{collectionId}\/documents",
                    "offline-key": "{documentId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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"
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes": {
            "get": {
                "summary": "List indexes",
                "operationId": "databasesListIndexes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "List indexes in the collection.",
                "responses": {
                    "200": {
                        "description": "Indexes List",
                        "schema": {
                            "$ref": "#\/definitions\/indexList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listIndexes",
                    "weight": 105,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/list-indexes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            },
            "post": {
                "summary": "Create index",
                "operationId": "databasesCreateIndex",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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`.",
                "responses": {
                    "202": {
                        "description": "Index",
                        "schema": {
                            "$ref": "#\/definitions\/index"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createIndex",
                    "weight": 104,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/create-index.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "x-example": null
                                },
                                "type": {
                                    "type": "string",
                                    "description": "Index type.",
                                    "default": null,
                                    "x-example": "key",
                                    "enum": [
                                        "key",
                                        "fulltext",
                                        "unique"
                                    ],
                                    "x-enum-name": "IndexType",
                                    "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"
                                    }
                                }
                            },
                            "required": [
                                "key",
                                "type",
                                "attributes"
                            ]
                        }
                    }
                ]
            }
        },
        "\/databases\/{databaseId}\/collections\/{collectionId}\/indexes\/{key}": {
            "get": {
                "summary": "Get index",
                "operationId": "databasesGetIndex",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "databases"
                ],
                "description": "Get index by ID.",
                "responses": {
                    "200": {
                        "description": "Index",
                        "schema": {
                            "$ref": "#\/definitions\/index"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getIndex",
                    "weight": 106,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/get-index.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": "databasesDeleteIndex",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "databases"
                ],
                "description": "Delete an index.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteIndex",
                    "weight": 107,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "databases\/delete-index.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "collections.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            }
        },
        "\/functions": {
            "get": {
                "summary": "List functions",
                "operationId": "functionsList",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a list of all the project's functions. You can use the query params to filter your results.",
                "responses": {
                    "200": {
                        "description": "Functions List",
                        "schema": {
                            "$ref": "#\/definitions\/functionList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "list",
                    "weight": 289,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/list.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/list-functions.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: name, enabled, runtime, deployment, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId",
                        "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"
                    }
                ]
            },
            "post": {
                "summary": "Create function",
                "operationId": "functionsCreate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "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": {
                    "201": {
                        "description": "Function",
                        "schema": {
                            "$ref": "#\/definitions\/function"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "create",
                    "weight": 288,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/create.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/create-function.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "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",
                                        "php-8.0",
                                        "php-8.1",
                                        "php-8.2",
                                        "php-8.3",
                                        "ruby-3.0",
                                        "ruby-3.1",
                                        "ruby-3.2",
                                        "ruby-3.3",
                                        "python-3.8",
                                        "python-3.9",
                                        "python-3.10",
                                        "python-3.11",
                                        "python-3.12",
                                        "python-ml-3.11",
                                        "deno-1.21",
                                        "deno-1.24",
                                        "deno-1.35",
                                        "deno-1.40",
                                        "deno-1.46",
                                        "deno-2.0",
                                        "dart-2.15",
                                        "dart-2.16",
                                        "dart-2.17",
                                        "dart-2.18",
                                        "dart-3.0",
                                        "dart-3.1",
                                        "dart-3.3",
                                        "dart-3.5",
                                        "dotnet-6.0",
                                        "dotnet-7.0",
                                        "dotnet-8.0",
                                        "java-8.0",
                                        "java-11.0",
                                        "java-17.0",
                                        "java-18.0",
                                        "java-21.0",
                                        "java-22",
                                        "swift-5.5",
                                        "swift-5.8",
                                        "swift-5.9",
                                        "swift-5.10",
                                        "kotlin-1.6",
                                        "kotlin-1.8",
                                        "kotlin-1.9",
                                        "kotlin-2.0",
                                        "cpp-17",
                                        "cpp-20",
                                        "bun-1.0",
                                        "bun-1.1",
                                        "go-1.23",
                                        "static-1"
                                    ],
                                    "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": "Function maximum execution time in seconds.",
                                    "default": 15,
                                    "x-example": 1
                                },
                                "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": "Whether executions will be logged. When set to false, executions will not be logged, but will reduce resource used by your Appwrite project.",
                                    "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"
                                    }
                                },
                                "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 function.",
                                    "default": "",
                                    "x-example": "<PROVIDER_REPOSITORY_ID>"
                                },
                                "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>"
                                },
                                "templateRepository": {
                                    "type": "string",
                                    "description": "Repository name of the template.",
                                    "default": "",
                                    "x-example": "<TEMPLATE_REPOSITORY>"
                                },
                                "templateOwner": {
                                    "type": "string",
                                    "description": "The name of the owner of the template.",
                                    "default": "",
                                    "x-example": "<TEMPLATE_OWNER>"
                                },
                                "templateRootDirectory": {
                                    "type": "string",
                                    "description": "Path to function code in the template repo.",
                                    "default": "",
                                    "x-example": "<TEMPLATE_ROOT_DIRECTORY>"
                                },
                                "templateVersion": {
                                    "type": "string",
                                    "description": "Version (tag) for the repo linked to the function template.",
                                    "default": "",
                                    "x-example": "<TEMPLATE_VERSION>"
                                },
                                "specification": {
                                    "type": "string",
                                    "description": "Runtime specification for the function and builds.",
                                    "default": "s-1vcpu-512mb",
                                    "x-example": null
                                }
                            },
                            "required": [
                                "functionId",
                                "name",
                                "runtime"
                            ]
                        }
                    }
                ]
            }
        },
        "\/functions\/runtimes": {
            "get": {
                "summary": "List runtimes",
                "operationId": "functionsListRuntimes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a list of all runtimes that are currently active on your instance.",
                "responses": {
                    "200": {
                        "description": "Runtimes List",
                        "schema": {
                            "$ref": "#\/definitions\/runtimeList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listRuntimes",
                    "weight": 290,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/list-runtimes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/list-runtimes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/functions\/specifications": {
            "get": {
                "summary": "List available function runtime specifications",
                "operationId": "functionsListSpecifications",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "List allowed function specifications for this instance.\n",
                "responses": {
                    "200": {
                        "description": "Specifications List",
                        "schema": {
                            "$ref": "#\/definitions\/specificationList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listSpecifications",
                    "weight": 291,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/list-specifications.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/list-specifications.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server",
                        "console"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/functions\/{functionId}": {
            "get": {
                "summary": "Get function",
                "operationId": "functionsGet",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a function by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Function",
                        "schema": {
                            "$ref": "#\/definitions\/function"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 292,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/get-function.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "functionId",
                        "description": "Function ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FUNCTION_ID>",
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Update function",
                "operationId": "functionsUpdate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Update function by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Function",
                        "schema": {
                            "$ref": "#\/definitions\/function"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "update",
                    "weight": 295,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/update.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/update-function.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
                                "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",
                                        "php-8.0",
                                        "php-8.1",
                                        "php-8.2",
                                        "php-8.3",
                                        "ruby-3.0",
                                        "ruby-3.1",
                                        "ruby-3.2",
                                        "ruby-3.3",
                                        "python-3.8",
                                        "python-3.9",
                                        "python-3.10",
                                        "python-3.11",
                                        "python-3.12",
                                        "python-ml-3.11",
                                        "deno-1.21",
                                        "deno-1.24",
                                        "deno-1.35",
                                        "deno-1.40",
                                        "deno-1.46",
                                        "deno-2.0",
                                        "dart-2.15",
                                        "dart-2.16",
                                        "dart-2.17",
                                        "dart-2.18",
                                        "dart-3.0",
                                        "dart-3.1",
                                        "dart-3.3",
                                        "dart-3.5",
                                        "dotnet-6.0",
                                        "dotnet-7.0",
                                        "dotnet-8.0",
                                        "java-8.0",
                                        "java-11.0",
                                        "java-17.0",
                                        "java-18.0",
                                        "java-21.0",
                                        "java-22",
                                        "swift-5.5",
                                        "swift-5.8",
                                        "swift-5.9",
                                        "swift-5.10",
                                        "kotlin-1.6",
                                        "kotlin-1.8",
                                        "kotlin-1.9",
                                        "kotlin-2.0",
                                        "cpp-17",
                                        "cpp-20",
                                        "bun-1.0",
                                        "bun-1.1",
                                        "go-1.23",
                                        "static-1"
                                    ],
                                    "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
                                },
                                "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": "Whether executions will be logged. When set to false, executions will not be logged, but will reduce resource used by your Appwrite project.",
                                    "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"
                                    }
                                },
                                "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>"
                                },
                                "specification": {
                                    "type": "string",
                                    "description": "Runtime specification for the function and builds.",
                                    "default": "s-1vcpu-512mb",
                                    "x-example": null
                                }
                            },
                            "required": [
                                "name"
                            ]
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete function",
                "operationId": "functionsDelete",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "functions"
                ],
                "description": "Delete a function by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "delete",
                    "weight": 298,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/delete.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/delete-function.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "functionId",
                        "description": "Function ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FUNCTION_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/deployments": {
            "get": {
                "summary": "List deployments",
                "operationId": "functionsListDeployments",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a list of all the project's code deployments. You can use the query params to filter your results.",
                "responses": {
                    "200": {
                        "description": "Deployments List",
                        "schema": {
                            "$ref": "#\/definitions\/deploymentList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listDeployments",
                    "weight": 300,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/list-deployments.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/list-deployments.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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: size, buildId, activate, entrypoint, commands, type, size",
                        "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"
                    }
                ]
            },
            "post": {
                "summary": "Create deployment",
                "operationId": "functionsCreateDeployment",
                "consumes": [
                    "multipart\/form-data"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "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": {
                    "202": {
                        "description": "Deployment",
                        "schema": {
                            "$ref": "#\/definitions\/deployment"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createDeployment",
                    "weight": 299,
                    "cookies": false,
                    "type": "upload",
                    "deprecated": false,
                    "demo": "functions\/create-deployment.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/create-deployment.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": true,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/deployments\/{deploymentId}": {
            "get": {
                "summary": "Get deployment",
                "operationId": "functionsGetDeployment",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a code deployment by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Deployment",
                        "schema": {
                            "$ref": "#\/definitions\/deployment"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getDeployment",
                    "weight": 301,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/get-deployment.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/get-deployment.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            },
            "patch": {
                "summary": "Update deployment",
                "operationId": "functionsUpdateDeployment",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Update the function code deployment ID using the unique function ID. Use this endpoint to switch the code deployment that should be executed by the execution endpoint.",
                "responses": {
                    "200": {
                        "description": "Function",
                        "schema": {
                            "$ref": "#\/definitions\/function"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateDeployment",
                    "weight": 297,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/update-deployment.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/update-function-deployment.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            },
            "delete": {
                "summary": "Delete deployment",
                "operationId": "functionsDeleteDeployment",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "functions"
                ],
                "description": "Delete a code deployment by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteDeployment",
                    "weight": 302,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/delete-deployment.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/delete-deployment.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/deployments\/{deploymentId}\/build": {
            "post": {
                "summary": "Rebuild deployment",
                "operationId": "functionsCreateBuild",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "functions"
                ],
                "description": "",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "createBuild",
                    "weight": 303,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/create-build.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "buildId": {
                                    "type": "string",
                                    "description": "Build unique ID.",
                                    "default": "",
                                    "x-example": "<BUILD_ID>"
                                }
                            }
                        }
                    }
                ]
            },
            "patch": {
                "summary": "Cancel deployment",
                "operationId": "functionsUpdateDeploymentBuild",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "",
                "responses": {
                    "200": {
                        "description": "Build",
                        "schema": {
                            "$ref": "#\/definitions\/build"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateDeploymentBuild",
                    "weight": 304,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/update-deployment-build.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/deployments\/{deploymentId}\/download": {
            "get": {
                "summary": "Download deployment",
                "operationId": "functionsGetDeploymentDownload",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "*\/*"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a Deployment's contents by its unique ID. This endpoint supports range requests for partial or streaming file download.",
                "responses": {
                    "200": {
                        "description": "File",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getDeploymentDownload",
                    "weight": 296,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "functions\/get-deployment-download.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/get-deployment-download.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/executions": {
            "get": {
                "summary": "List executions",
                "operationId": "functionsListExecutions",
                "consumes": [
                    "application\/json"
                ],
                "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": {
                            "$ref": "#\/definitions\/executionList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listExecutions",
                    "weight": 306,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/list-executions.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/list-executions.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "execution.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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": "search",
                        "description": "Search term to filter your list results. Max length: 256 chars.",
                        "required": false,
                        "type": "string",
                        "x-example": "<SEARCH>",
                        "default": "",
                        "in": "query"
                    }
                ]
            },
            "post": {
                "summary": "Create execution",
                "operationId": "functionsCreateExecution",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "multipart\/form-data"
                ],
                "tags": [
                    "functions"
                ],
                "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": "Execution",
                        "schema": {
                            "$ref": "#\/definitions\/execution"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createExecution",
                    "weight": 305,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/create-execution.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/create-execution.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "execution.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "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": {
                                "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": {
                                    "type": "string",
                                    "description": "HTTP path of execution. Path can include query params. Default value is \/",
                                    "default": "\/",
                                    "x-example": "<PATH>"
                                },
                                "method": {
                                    "type": "string",
                                    "description": "HTTP method of execution. Default value is GET.",
                                    "default": "POST",
                                    "x-example": "GET",
                                    "enum": [
                                        "GET",
                                        "POST",
                                        "PUT",
                                        "PATCH",
                                        "DELETE",
                                        "OPTIONS"
                                    ],
                                    "x-enum-name": "ExecutionMethod",
                                    "x-enum-keys": []
                                },
                                "headers": {
                                    "type": "object",
                                    "description": "HTTP headers of execution. Defaults to empty.",
                                    "default": [],
                                    "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.",
                                    "default": null,
                                    "x-example": null
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/executions\/{executionId}": {
            "get": {
                "summary": "Get execution",
                "operationId": "functionsGetExecution",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a function execution log by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Execution",
                        "schema": {
                            "$ref": "#\/definitions\/execution"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getExecution",
                    "weight": 307,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/get-execution.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/get-execution.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "execution.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "functionId",
                        "description": "Function ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FUNCTION_ID>",
                        "in": "path"
                    },
                    {
                        "name": "executionId",
                        "description": "Execution ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<EXECUTION_ID>",
                        "in": "path"
                    }
                ]
            },
            "delete": {
                "summary": "Delete execution",
                "operationId": "functionsDeleteExecution",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "functions"
                ],
                "description": "Delete a function execution by its unique ID.\n",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteExecution",
                    "weight": 308,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/delete-execution.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/delete-execution.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "execution.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "functionId",
                        "description": "Function ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FUNCTION_ID>",
                        "in": "path"
                    },
                    {
                        "name": "executionId",
                        "description": "Execution ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<EXECUTION_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/variables": {
            "get": {
                "summary": "List variables",
                "operationId": "functionsListVariables",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a list of all variables of a specific function.",
                "responses": {
                    "200": {
                        "description": "Variables List",
                        "schema": {
                            "$ref": "#\/definitions\/variableList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listVariables",
                    "weight": 310,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/list-variables.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/list-variables.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "functionId",
                        "description": "Function unique ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FUNCTION_ID>",
                        "in": "path"
                    }
                ]
            },
            "post": {
                "summary": "Create variable",
                "operationId": "functionsCreateVariable",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Create a new function environment variable. These variables can be accessed in the function at runtime as environment variables.",
                "responses": {
                    "201": {
                        "description": "Variable",
                        "schema": {
                            "$ref": "#\/definitions\/variable"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createVariable",
                    "weight": 309,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/create-variable.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/create-variable.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "functionId",
                        "description": "Function unique ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FUNCTION_ID>",
                        "in": "path"
                    },
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "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>"
                                }
                            },
                            "required": [
                                "key",
                                "value"
                            ]
                        }
                    }
                ]
            }
        },
        "\/functions\/{functionId}\/variables\/{variableId}": {
            "get": {
                "summary": "Get variable",
                "operationId": "functionsGetVariable",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Get a variable by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Variable",
                        "schema": {
                            "$ref": "#\/definitions\/variable"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getVariable",
                    "weight": 311,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/get-variable.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/get-variable.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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"
                    }
                ]
            },
            "put": {
                "summary": "Update variable",
                "operationId": "functionsUpdateVariable",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "functions"
                ],
                "description": "Update variable by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Variable",
                        "schema": {
                            "$ref": "#\/definitions\/variable"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateVariable",
                    "weight": 312,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/update-variable.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/update-variable.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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": {
                                "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>"
                                }
                            },
                            "required": [
                                "key"
                            ]
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete variable",
                "operationId": "functionsDeleteVariable",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "functions"
                ],
                "description": "Delete a variable by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteVariable",
                    "weight": 313,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "functions\/delete-variable.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/functions\/delete-variable.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "functions.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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"
                    }
                ]
            }
        },
        "\/graphql": {
            "post": {
                "summary": "GraphQL endpoint",
                "operationId": "graphqlQuery",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "graphql"
                ],
                "description": "Execute a GraphQL mutation.",
                "responses": {
                    "200": {
                        "description": "Any",
                        "schema": {
                            "$ref": "#\/definitions\/any"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "query",
                    "weight": 331,
                    "cookies": false,
                    "type": "graphql",
                    "deprecated": false,
                    "demo": "graphql\/query.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md",
                    "rate-limit": 60,
                    "rate-time": 60,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "graphql",
                    "platforms": [
                        "server",
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "query": {
                                    "type": "object",
                                    "description": "The query or queries to execute.",
                                    "default": {},
                                    "x-example": "{}"
                                }
                            },
                            "required": [
                                "query"
                            ]
                        }
                    }
                ]
            }
        },
        "\/graphql\/mutation": {
            "post": {
                "summary": "GraphQL endpoint",
                "operationId": "graphqlMutation",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "graphql"
                ],
                "description": "Execute a GraphQL mutation.",
                "responses": {
                    "200": {
                        "description": "Any",
                        "schema": {
                            "$ref": "#\/definitions\/any"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "mutation",
                    "weight": 330,
                    "cookies": false,
                    "type": "graphql",
                    "deprecated": false,
                    "demo": "graphql\/mutation.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md",
                    "rate-limit": 60,
                    "rate-time": 60,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "graphql",
                    "platforms": [
                        "server",
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "query": {
                                    "type": "object",
                                    "description": "The query or queries to execute.",
                                    "default": {},
                                    "x-example": "{}"
                                }
                            },
                            "required": [
                                "query"
                            ]
                        }
                    }
                ]
            }
        },
        "\/health": {
            "get": {
                "summary": "Get HTTP",
                "operationId": "healthGet",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite HTTP server is up and responsive.",
                "responses": {
                    "200": {
                        "description": "Health Status",
                        "schema": {
                            "$ref": "#\/definitions\/healthStatus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 125,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/anti-virus": {
            "get": {
                "summary": "Get antivirus",
                "operationId": "healthGetAntivirus",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite Antivirus server is up and connection is successful.",
                "responses": {
                    "200": {
                        "description": "Health Antivirus",
                        "schema": {
                            "$ref": "#\/definitions\/healthAntivirus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getAntivirus",
                    "weight": 147,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-antivirus.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/cache": {
            "get": {
                "summary": "Get cache",
                "operationId": "healthGetCache",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite in-memory cache servers are up and connection is successful.",
                "responses": {
                    "200": {
                        "description": "Health Status",
                        "schema": {
                            "$ref": "#\/definitions\/healthStatus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getCache",
                    "weight": 128,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-cache.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/certificate": {
            "get": {
                "summary": "Get the SSL certificate for a domain",
                "operationId": "healthGetCertificate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the SSL certificate for a domain",
                "responses": {
                    "200": {
                        "description": "Health Certificate",
                        "schema": {
                            "$ref": "#\/definitions\/healthCertificate"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getCertificate",
                    "weight": 134,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-certificate.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "domain",
                        "description": "string",
                        "required": false,
                        "type": "string",
                        "in": "query"
                    }
                ]
            }
        },
        "\/health\/db": {
            "get": {
                "summary": "Get DB",
                "operationId": "healthGetDB",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite database servers are up and connection is successful.",
                "responses": {
                    "200": {
                        "description": "Health Status",
                        "schema": {
                            "$ref": "#\/definitions\/healthStatus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getDB",
                    "weight": 127,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-d-b.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/pubsub": {
            "get": {
                "summary": "Get pubsub",
                "operationId": "healthGetPubSub",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite pub-sub servers are up and connection is successful.",
                "responses": {
                    "200": {
                        "description": "Health Status",
                        "schema": {
                            "$ref": "#\/definitions\/healthStatus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getPubSub",
                    "weight": 130,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-pub-sub.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/queue": {
            "get": {
                "summary": "Get queue",
                "operationId": "healthGetQueue",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite queue messaging servers are up and connection is successful.",
                "responses": {
                    "200": {
                        "description": "Health Status",
                        "schema": {
                            "$ref": "#\/definitions\/healthStatus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueue",
                    "weight": 129,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/queue\/builds": {
            "get": {
                "summary": "Get builds queue",
                "operationId": "healthGetQueueBuilds",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueBuilds",
                    "weight": 136,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-builds.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/certificates": {
            "get": {
                "summary": "Get certificates queue",
                "operationId": "healthGetQueueCertificates",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueCertificates",
                    "weight": 135,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-certificates.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/databases": {
            "get": {
                "summary": "Get databases queue",
                "operationId": "healthGetQueueDatabases",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueDatabases",
                    "weight": 137,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-databases.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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"
                    }
                ]
            }
        },
        "\/health\/queue\/deletes": {
            "get": {
                "summary": "Get deletes queue",
                "operationId": "healthGetQueueDeletes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueDeletes",
                    "weight": 138,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-deletes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/failed\/{name}": {
            "get": {
                "summary": "Get number of failed queue jobs",
                "operationId": "healthGetFailedJobs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Returns the amount of failed jobs in a given queue.\n",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFailedJobs",
                    "weight": 148,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-failed-jobs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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-usage",
                            "v1-usage-dump",
                            "v1-webhooks",
                            "v1-certificates",
                            "v1-builds",
                            "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"
                    }
                ]
            }
        },
        "\/health\/queue\/functions": {
            "get": {
                "summary": "Get functions queue",
                "operationId": "healthGetQueueFunctions",
                "consumes": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueFunctions",
                    "weight": 142,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-functions.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
            "get": {
                "summary": "Get logs queue",
                "operationId": "healthGetQueueLogs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the number of logs that are waiting to be processed in the Appwrite internal queue server.",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueLogs",
                    "weight": 133,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/mails": {
            "get": {
                "summary": "Get mails queue",
                "operationId": "healthGetQueueMails",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueMails",
                    "weight": 139,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-mails.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/messaging": {
            "get": {
                "summary": "Get messaging queue",
                "operationId": "healthGetQueueMessaging",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueMessaging",
                    "weight": 140,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-messaging.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/migrations": {
            "get": {
                "summary": "Get migrations queue",
                "operationId": "healthGetQueueMigrations",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueMigrations",
                    "weight": 141,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-migrations.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/usage": {
            "get": {
                "summary": "Get usage queue",
                "operationId": "healthGetQueueUsage",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueUsage",
                    "weight": 143,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-usage.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-usage.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/usage-dump": {
            "get": {
                "summary": "Get usage dump queue",
                "operationId": "healthGetQueueUsageDump",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the number of projects containing metrics that are waiting to be processed in the Appwrite internal queue server.",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueUsageDump",
                    "weight": 144,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-usage-dump.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-usage-dump.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/webhooks": {
            "get": {
                "summary": "Get webhooks queue",
                "operationId": "healthGetQueueWebhooks",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.",
                "responses": {
                    "200": {
                        "description": "Health Queue",
                        "schema": {
                            "$ref": "#\/definitions\/healthQueue"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getQueueWebhooks",
                    "weight": 132,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-queue-webhooks.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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\/storage": {
            "get": {
                "summary": "Get storage",
                "operationId": "healthGetStorage",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "description": "Check the Appwrite storage device is up and connection is successful.",
                "responses": {
                    "200": {
                        "description": "Health Status",
                        "schema": {
                            "$ref": "#\/definitions\/healthStatus"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getStorage",
                    "weight": 146,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-storage.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/storage\/local": {
            "get": {
                "summary": "Get local storage",
                "operationId": "healthGetStorageLocal",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getStorageLocal",
                    "weight": 145,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-storage-local.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/health\/time": {
            "get": {
                "summary": "Get time",
                "operationId": "healthGetTime",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "health"
                ],
                "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": "Health Time",
                        "schema": {
                            "$ref": "#\/definitions\/healthTime"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getTime",
                    "weight": 131,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "health\/get-time.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "health.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ]
            }
        },
        "\/locale": {
            "get": {
                "summary": "Get user locale",
                "operationId": "localeGet",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 117,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/localed",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/codes": {
            "get": {
                "summary": "List locale codes",
                "operationId": "localeListCodes",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "locale"
                ],
                "description": "List of all locale codes in [ISO 639-1](https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes).",
                "responses": {
                    "200": {
                        "description": "Locale codes list",
                        "schema": {
                            "$ref": "#\/definitions\/localeCodeList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listCodes",
                    "weight": 118,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/localeCode",
                    "offline-key": "current",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/continents": {
            "get": {
                "summary": "List continents",
                "operationId": "localeListContinents",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listContinents",
                    "weight": 122,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-continents.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/continents",
                    "offline-key": "",
                    "offline-response-key": "code",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/countries": {
            "get": {
                "summary": "List countries",
                "operationId": "localeListCountries",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "locale"
                ],
                "description": "List of all countries. You can use the locale header to get the data in a supported language.",
                "responses": {
                    "200": {
                        "description": "Countries List",
                        "schema": {
                            "$ref": "#\/definitions\/countryList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listCountries",
                    "weight": 119,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-countries.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/countries",
                    "offline-key": "",
                    "offline-response-key": "code",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/countries\/eu": {
            "get": {
                "summary": "List EU countries",
                "operationId": "localeListCountriesEU",
                "consumes": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/countryList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listCountriesEU",
                    "weight": 120,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-countries-e-u.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/countries\/eu",
                    "offline-key": "",
                    "offline-response-key": "code",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/countries\/phones": {
            "get": {
                "summary": "List countries phone codes",
                "operationId": "localeListCountriesPhones",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "locale"
                ],
                "description": "List of all countries phone codes. You can use the locale header to get the data in a supported language.",
                "responses": {
                    "200": {
                        "description": "Phones List",
                        "schema": {
                            "$ref": "#\/definitions\/phoneList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listCountriesPhones",
                    "weight": 121,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-countries-phones.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/countries\/phones",
                    "offline-key": "",
                    "offline-response-key": "countryCode",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/currencies": {
            "get": {
                "summary": "List currencies",
                "operationId": "localeListCurrencies",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "locale"
                ],
                "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": "Currencies List",
                        "schema": {
                            "$ref": "#\/definitions\/currencyList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listCurrencies",
                    "weight": 123,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-currencies.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/currencies",
                    "offline-key": "",
                    "offline-response-key": "code",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/locale\/languages": {
            "get": {
                "summary": "List languages",
                "operationId": "localeListLanguages",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "locale"
                ],
                "description": "List of all languages classified by ISO 639-1 including 2-letter code, name in English, and name in the respective language.",
                "responses": {
                    "200": {
                        "description": "Languages List",
                        "schema": {
                            "$ref": "#\/definitions\/languageList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listLanguages",
                    "weight": 124,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "locale\/list-languages.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "locale.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/locale\/languages",
                    "offline-key": "",
                    "offline-response-key": "code",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ]
            }
        },
        "\/messaging\/messages": {
            "get": {
                "summary": "List messages",
                "operationId": "messagingListMessages",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a list of all messages from the current Appwrite project.",
                "responses": {
                    "200": {
                        "description": "Message list",
                        "schema": {
                            "$ref": "#\/definitions\/messageList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listMessages",
                    "weight": 390,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-messages.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: 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,
                        "type": "string",
                        "x-example": "<SEARCH>",
                        "default": "",
                        "in": "query"
                    }
                ]
            }
        },
        "\/messaging\/messages\/email": {
            "post": {
                "summary": "Create email",
                "operationId": "messagingCreateEmail",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new email message.",
                "responses": {
                    "201": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createEmail",
                    "weight": 387,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-email.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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": null
                                }
                            },
                            "required": [
                                "messageId",
                                "subject",
                                "content"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/messages\/email\/{messageId}": {
            "patch": {
                "summary": "Update email",
                "operationId": "messagingUpdateEmail",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update an email message by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateEmail",
                    "weight": 394,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-email.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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": {
                                "topics": {
                                    "type": "array",
                                    "description": "List of Topic IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "users": {
                                    "type": "array",
                                    "description": "List of User IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "targets": {
                                    "type": "array",
                                    "description": "List of Targets IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "subject": {
                                    "type": "string",
                                    "description": "Email Subject.",
                                    "default": null,
                                    "x-example": "<SUBJECT>"
                                },
                                "content": {
                                    "type": "string",
                                    "description": "Email Content.",
                                    "default": null,
                                    "x-example": "<CONTENT>"
                                },
                                "draft": {
                                    "type": "boolean",
                                    "description": "Is message a draft",
                                    "default": null,
                                    "x-example": false
                                },
                                "html": {
                                    "type": "boolean",
                                    "description": "Is content of type HTML",
                                    "default": null,
                                    "x-example": false
                                },
                                "cc": {
                                    "type": "array",
                                    "description": "Array of target IDs to be added as CC.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "bcc": {
                                    "type": "array",
                                    "description": "Array of target IDs to be added as BCC.",
                                    "default": null,
                                    "x-example": null,
                                    "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": null
                                },
                                "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,
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/messages\/push": {
            "post": {
                "summary": "Create push notification",
                "operationId": "messagingCreatePush",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new push notification.",
                "responses": {
                    "201": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createPush",
                    "weight": 389,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-push.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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": null,
                                    "x-example": "<TITLE>"
                                },
                                "body": {
                                    "type": "string",
                                    "description": "Body for push notification.",
                                    "default": null,
                                    "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 Data for push notification.",
                                    "default": {},
                                    "x-example": "{}"
                                },
                                "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": "string",
                                    "description": "Badge for push notification. Available only for IOS Platform.",
                                    "default": "",
                                    "x-example": "<BADGE>"
                                },
                                "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": null
                                }
                            },
                            "required": [
                                "messageId",
                                "title",
                                "body"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/messages\/push\/{messageId}": {
            "patch": {
                "summary": "Update push notification",
                "operationId": "messagingUpdatePush",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a push notification by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePush",
                    "weight": 396,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-push.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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": {
                                "topics": {
                                    "type": "array",
                                    "description": "List of Topic IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "users": {
                                    "type": "array",
                                    "description": "List of User IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "targets": {
                                    "type": "array",
                                    "description": "List of Targets IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "title": {
                                    "type": "string",
                                    "description": "Title for push notification.",
                                    "default": null,
                                    "x-example": "<TITLE>"
                                },
                                "body": {
                                    "type": "string",
                                    "description": "Body for push notification.",
                                    "default": null,
                                    "x-example": "<BODY>"
                                },
                                "data": {
                                    "type": "object",
                                    "description": "Additional Data for push notification.",
                                    "default": {},
                                    "x-example": "{}"
                                },
                                "action": {
                                    "type": "string",
                                    "description": "Action for push notification.",
                                    "default": null,
                                    "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": null,
                                    "x-example": "[ID1:ID2]"
                                },
                                "icon": {
                                    "type": "string",
                                    "description": "Icon for push notification. Available only for Android and Web platforms.",
                                    "default": null,
                                    "x-example": "<ICON>"
                                },
                                "sound": {
                                    "type": "string",
                                    "description": "Sound for push notification. Available only for Android and iOS platforms.",
                                    "default": null,
                                    "x-example": "<SOUND>"
                                },
                                "color": {
                                    "type": "string",
                                    "description": "Color for push notification. Available only for Android platforms.",
                                    "default": null,
                                    "x-example": "<COLOR>"
                                },
                                "tag": {
                                    "type": "string",
                                    "description": "Tag for push notification. Available only for Android platforms.",
                                    "default": null,
                                    "x-example": "<TAG>"
                                },
                                "badge": {
                                    "type": "integer",
                                    "description": "Badge for push notification. Available only for iOS platforms.",
                                    "default": null,
                                    "x-example": null
                                },
                                "draft": {
                                    "type": "boolean",
                                    "description": "Is message a draft",
                                    "default": null,
                                    "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": null
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/messages\/sms": {
            "post": {
                "summary": "Create SMS",
                "operationId": "messagingCreateSms",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new SMS message.",
                "responses": {
                    "201": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createSms",
                    "weight": 388,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-sms.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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>"
                                },
                                "content": {
                                    "type": "string",
                                    "description": "SMS 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"
                                    }
                                },
                                "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": null
                                }
                            },
                            "required": [
                                "messageId",
                                "content"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/messages\/sms\/{messageId}": {
            "patch": {
                "summary": "Update SMS",
                "operationId": "messagingUpdateSms",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update an email message by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateSms",
                    "weight": 395,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-sms.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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": {
                                "topics": {
                                    "type": "array",
                                    "description": "List of Topic IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "users": {
                                    "type": "array",
                                    "description": "List of User IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "targets": {
                                    "type": "array",
                                    "description": "List of Targets IDs.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "content": {
                                    "type": "string",
                                    "description": "Email Content.",
                                    "default": null,
                                    "x-example": "<CONTENT>"
                                },
                                "draft": {
                                    "type": "boolean",
                                    "description": "Is message a draft",
                                    "default": null,
                                    "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": null
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/messages\/{messageId}": {
            "get": {
                "summary": "Get message",
                "operationId": "messagingGetMessage",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a message by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Message",
                        "schema": {
                            "$ref": "#\/definitions\/message"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getMessage",
                    "weight": 393,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/get-message.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "messageId",
                        "description": "Message ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<MESSAGE_ID>",
                        "in": "path"
                    }
                ]
            },
            "delete": {
                "summary": "Delete message",
                "operationId": "messagingDelete",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "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"
                    }
                },
                "x-appwrite": {
                    "method": "delete",
                    "weight": 397,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/delete.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "messageId",
                        "description": "Message ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<MESSAGE_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/messaging\/messages\/{messageId}\/logs": {
            "get": {
                "summary": "List message logs",
                "operationId": "messagingListMessageLogs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get the message activity logs listed by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Logs List",
                        "schema": {
                            "$ref": "#\/definitions\/logList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listMessageLogs",
                    "weight": 391,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-message-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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). Only supported methods are limit and offset",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "in": "query"
                    }
                ]
            }
        },
        "\/messaging\/messages\/{messageId}\/targets": {
            "get": {
                "summary": "List message targets",
                "operationId": "messagingListTargets",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a list of the targets associated with a message.",
                "responses": {
                    "200": {
                        "description": "Target list",
                        "schema": {
                            "$ref": "#\/definitions\/targetList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listTargets",
                    "weight": 392,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-targets.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "messages.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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: userId, providerId, identifier, providerType",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "in": "query"
                    }
                ]
            }
        },
        "\/messaging\/providers": {
            "get": {
                "summary": "List providers",
                "operationId": "messagingListProviders",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a list of all providers from the current Appwrite project.",
                "responses": {
                    "200": {
                        "description": "Provider list",
                        "schema": {
                            "$ref": "#\/definitions\/providerList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listProviders",
                    "weight": 362,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-providers.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: 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"
                    }
                ]
            }
        },
        "\/messaging\/providers\/apns": {
            "post": {
                "summary": "Create APNS provider",
                "operationId": "messagingCreateApnsProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Apple Push Notification service provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createApnsProvider",
                    "weight": 361,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-apns-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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": {
                                    "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": false,
                                    "x-example": false
                                },
                                "enabled": {
                                    "type": "boolean",
                                    "description": "Set as enabled.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/apns\/{providerId}": {
            "patch": {
                "summary": "Update APNS provider",
                "operationId": "messagingUpdateApnsProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Apple Push Notification service provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateApnsProvider",
                    "weight": 374,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-apns-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/fcm": {
            "post": {
                "summary": "Create FCM provider",
                "operationId": "messagingCreateFcmProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Firebase Cloud Messaging provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createFcmProvider",
                    "weight": 360,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-fcm-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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": "{}"
                                },
                                "enabled": {
                                    "type": "boolean",
                                    "description": "Set as enabled.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/fcm\/{providerId}": {
            "patch": {
                "summary": "Update FCM provider",
                "operationId": "messagingUpdateFcmProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Firebase Cloud Messaging provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateFcmProvider",
                    "weight": 373,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-fcm-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/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,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "serviceAccountJSON": {
                                    "type": "object",
                                    "description": "FCM service account JSON.",
                                    "default": {},
                                    "x-example": "{}"
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/mailgun": {
            "post": {
                "summary": "Create Mailgun provider",
                "operationId": "messagingCreateMailgunProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Mailgun provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMailgunProvider",
                    "weight": 352,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-mailgun-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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
                                },
                                "fromName": {
                                    "type": "string",
                                    "description": "Sender Name.",
                                    "default": "",
                                    "x-example": "<FROM_NAME>"
                                },
                                "fromEmail": {
                                    "type": "string",
                                    "description": "Sender email address.",
                                    "default": "",
                                    "x-example": "email@example.com"
                                },
                                "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"
                                },
                                "enabled": {
                                    "type": "boolean",
                                    "description": "Set as enabled.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/mailgun\/{providerId}": {
            "patch": {
                "summary": "Update Mailgun provider",
                "operationId": "messagingUpdateMailgunProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Mailgun provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMailgunProvider",
                    "weight": 365,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-mailgun-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "enabled": {
                                    "type": "boolean",
                                    "description": "Set as enabled.",
                                    "default": null,
                                    "x-example": false
                                },
                                "fromName": {
                                    "type": "string",
                                    "description": "Sender Name.",
                                    "default": "",
                                    "x-example": "<FROM_NAME>"
                                },
                                "fromEmail": {
                                    "type": "string",
                                    "description": "Sender email address.",
                                    "default": "",
                                    "x-example": "email@example.com"
                                },
                                "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"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new MSG91 provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMsg91Provider",
                    "weight": 355,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-msg91provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/msg91\/{providerId}": {
            "patch": {
                "summary": "Update Msg91 provider",
                "operationId": "messagingUpdateMsg91Provider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a MSG91 provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMsg91Provider",
                    "weight": 368,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-msg91provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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>"
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/sendgrid": {
            "post": {
                "summary": "Create Sendgrid provider",
                "operationId": "messagingCreateSendgridProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Sendgrid provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createSendgridProvider",
                    "weight": 353,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-sendgrid-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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"
                                },
                                "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"
                                },
                                "enabled": {
                                    "type": "boolean",
                                    "description": "Set as enabled.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/sendgrid\/{providerId}": {
            "patch": {
                "summary": "Update Sendgrid provider",
                "operationId": "messagingUpdateSendgridProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Sendgrid provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateSendgridProvider",
                    "weight": 366,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-sendgrid-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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"
                                },
                                "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\/smtp": {
            "post": {
                "summary": "Create SMTP provider",
                "operationId": "messagingCreateSmtpProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new SMTP provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createSmtpProvider",
                    "weight": 354,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-smtp-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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
                                },
                                "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"
                                },
                                "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"
                                },
                                "enabled": {
                                    "type": "boolean",
                                    "description": "Set as enabled.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "providerId",
                                "name",
                                "host"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/smtp\/{providerId}": {
            "patch": {
                "summary": "Update SMTP provider",
                "operationId": "messagingUpdateSmtpProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a SMTP provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateSmtpProvider",
                    "weight": 367,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-smtp-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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>"
                                },
                                "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
                                },
                                "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
                                },
                                "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"
                                },
                                "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
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/telesign": {
            "post": {
                "summary": "Create Telesign provider",
                "operationId": "messagingCreateTelesignProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Telesign provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createTelesignProvider",
                    "weight": 356,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-telesign-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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"
                                },
                                "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
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/telesign\/{providerId}": {
            "patch": {
                "summary": "Update Telesign provider",
                "operationId": "messagingUpdateTelesignProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Telesign provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateTelesignProvider",
                    "weight": 369,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-telesign-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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>"
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/textmagic": {
            "post": {
                "summary": "Create Textmagic provider",
                "operationId": "messagingCreateTextmagicProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Textmagic provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createTextmagicProvider",
                    "weight": 357,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-textmagic-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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"
                                },
                                "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
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/textmagic\/{providerId}": {
            "patch": {
                "summary": "Update Textmagic provider",
                "operationId": "messagingUpdateTextmagicProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Textmagic provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateTextmagicProvider",
                    "weight": 370,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-textmagic-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createTwilioProvider",
                    "weight": 358,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-twilio-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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"
                                },
                                "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
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/twilio\/{providerId}": {
            "patch": {
                "summary": "Update Twilio provider",
                "operationId": "messagingUpdateTwilioProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Twilio provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateTwilioProvider",
                    "weight": 371,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-twilio-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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>"
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/vonage": {
            "post": {
                "summary": "Create Vonage provider",
                "operationId": "messagingCreateVonageProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new Vonage provider.",
                "responses": {
                    "201": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createVonageProvider",
                    "weight": 359,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-vonage-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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"
                                },
                                "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
                                }
                            },
                            "required": [
                                "providerId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/vonage\/{providerId}": {
            "patch": {
                "summary": "Update Vonage provider",
                "operationId": "messagingUpdateVonageProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a Vonage provider by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateVonageProvider",
                    "weight": 372,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-vonage-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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
                                },
                                "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>"
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/messaging\/providers\/{providerId}": {
            "get": {
                "summary": "Get provider",
                "operationId": "messagingGetProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a provider by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Provider",
                        "schema": {
                            "$ref": "#\/definitions\/provider"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getProvider",
                    "weight": 364,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/get-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "providerId",
                        "description": "Provider ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<PROVIDER_ID>",
                        "in": "path"
                    }
                ]
            },
            "delete": {
                "summary": "Delete provider",
                "operationId": "messagingDeleteProvider",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Delete a provider by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteProvider",
                    "weight": 375,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/delete-provider.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "providerId",
                        "description": "Provider ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<PROVIDER_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/messaging\/providers\/{providerId}\/logs": {
            "get": {
                "summary": "List provider logs",
                "operationId": "messagingListProviderLogs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get the provider activity logs listed by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Logs List",
                        "schema": {
                            "$ref": "#\/definitions\/logList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listProviderLogs",
                    "weight": 363,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-provider-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "providers.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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"
                    }
                ]
            }
        },
        "\/messaging\/subscribers\/{subscriberId}\/logs": {
            "get": {
                "summary": "List subscriber logs",
                "operationId": "messagingListSubscriberLogs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get the subscriber activity logs listed by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Logs List",
                        "schema": {
                            "$ref": "#\/definitions\/logList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listSubscriberLogs",
                    "weight": 384,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-subscriber-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/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,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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"
                    }
                ]
            }
        },
        "\/messaging\/topics": {
            "get": {
                "summary": "List topics",
                "operationId": "messagingListTopics",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a list of all topics from the current Appwrite project.",
                "responses": {
                    "200": {
                        "description": "Topic list",
                        "schema": {
                            "$ref": "#\/definitions\/topicList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listTopics",
                    "weight": 377,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-topics.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "topics.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: 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"
                    }
                ]
            },
            "post": {
                "summary": "Create topic",
                "operationId": "messagingCreateTopic",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new topic.",
                "responses": {
                    "201": {
                        "description": "Topic",
                        "schema": {
                            "$ref": "#\/definitions\/topic"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createTopic",
                    "weight": 376,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-topic.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "topics.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/topics\/{topicId}": {
            "get": {
                "summary": "Get topic",
                "operationId": "messagingGetTopic",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a topic by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Topic",
                        "schema": {
                            "$ref": "#\/definitions\/topic"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getTopic",
                    "weight": 379,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/get-topic.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "topics.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "topicId",
                        "description": "Topic ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TOPIC_ID>",
                        "in": "path"
                    }
                ]
            },
            "patch": {
                "summary": "Update topic",
                "operationId": "messagingUpdateTopic",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Update a topic by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Topic",
                        "schema": {
                            "$ref": "#\/definitions\/topic"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateTopic",
                    "weight": 380,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/update-topic.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "topics.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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>"
                                },
                                "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\"]",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete topic",
                "operationId": "messagingDeleteTopic",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Delete a topic by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteTopic",
                    "weight": 381,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/delete-topic.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "topics.write",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "topicId",
                        "description": "Topic ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TOPIC_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/messaging\/topics\/{topicId}\/logs": {
            "get": {
                "summary": "List topic logs",
                "operationId": "messagingListTopicLogs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get the topic activity logs listed by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Logs List",
                        "schema": {
                            "$ref": "#\/definitions\/logList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listTopicLogs",
                    "weight": 378,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-topic-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "topics.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "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"
                    }
                ]
            }
        },
        "\/messaging\/topics\/{topicId}\/subscribers": {
            "get": {
                "summary": "List subscribers",
                "operationId": "messagingListSubscribers",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a list of all subscribers from the current Appwrite project.",
                "responses": {
                    "200": {
                        "description": "Subscriber list",
                        "schema": {
                            "$ref": "#\/definitions\/subscriberList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listSubscribers",
                    "weight": 383,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/list-subscribers.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "subscribers.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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: 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"
                    }
                ]
            },
            "post": {
                "summary": "Create subscriber",
                "operationId": "messagingCreateSubscriber",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Create a new subscriber.",
                "responses": {
                    "201": {
                        "description": "Subscriber",
                        "schema": {
                            "$ref": "#\/definitions\/subscriber"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createSubscriber",
                    "weight": 382,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/create-subscriber.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "subscribers.write",
                    "platforms": [
                        "server",
                        "client",
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "JWT": []
                    }
                },
                "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/messaging\/topics\/{topicId}\/subscribers\/{subscriberId}": {
            "get": {
                "summary": "Get subscriber",
                "operationId": "messagingGetSubscriber",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Get a subscriber by its unique ID.\n",
                "responses": {
                    "200": {
                        "description": "Subscriber",
                        "schema": {
                            "$ref": "#\/definitions\/subscriber"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getSubscriber",
                    "weight": 385,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/get-subscriber.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "subscribers.read",
                    "platforms": [
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            },
            "delete": {
                "summary": "Delete subscriber",
                "operationId": "messagingDeleteSubscriber",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "messaging"
                ],
                "description": "Delete a subscriber by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteSubscriber",
                    "weight": 386,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "messaging\/delete-subscriber.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "subscribers.write",
                    "platforms": [
                        "server",
                        "client",
                        "console",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "JWT": []
                    }
                },
                "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"
                    }
                ]
            }
        },
        "\/storage\/buckets": {
            "get": {
                "summary": "List buckets",
                "operationId": "storageListBuckets",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "storage"
                ],
                "description": "Get a list of all the storage buckets. You can use the query params to filter your results.",
                "responses": {
                    "200": {
                        "description": "Buckets List",
                        "schema": {
                            "$ref": "#\/definitions\/bucketList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listBuckets",
                    "weight": 203,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/list-buckets.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "buckets.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: enabled, name, fileSecurity, maximumFileSize, encryption, antivirus",
                        "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"
                    }
                ]
            },
            "post": {
                "summary": "Create bucket",
                "operationId": "storageCreateBucket",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "storage"
                ],
                "description": "Create a new storage bucket.",
                "responses": {
                    "201": {
                        "description": "Bucket",
                        "schema": {
                            "$ref": "#\/definitions\/bucket"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createBucket",
                    "weight": 202,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/create-bucket.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "buckets.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "payload",
                        "in": "body",
                        "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\")\"]",
                                    "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 30MB.",
                                    "default": {},
                                    "x-example": 1
                                },
                                "allowedFileExtensions": {
                                    "type": "array",
                                    "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.",
                                    "default": [],
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "compression": {
                                    "type": "string",
                                    "description": "Compression algorithm choosen 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
                                }
                            },
                            "required": [
                                "bucketId",
                                "name"
                            ]
                        }
                    }
                ]
            }
        },
        "\/storage\/buckets\/{bucketId}": {
            "get": {
                "summary": "Get bucket",
                "operationId": "storageGetBucket",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "storage"
                ],
                "description": "Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata.",
                "responses": {
                    "200": {
                        "description": "Bucket",
                        "schema": {
                            "$ref": "#\/definitions\/bucket"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getBucket",
                    "weight": 204,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/get-bucket.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "buckets.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "bucketId",
                        "description": "Bucket unique ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<BUCKET_ID>",
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Update bucket",
                "operationId": "storageUpdateBucket",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "storage"
                ],
                "description": "Update a storage bucket by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Bucket",
                        "schema": {
                            "$ref": "#\/definitions\/bucket"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateBucket",
                    "weight": 205,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/update-bucket.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "buckets.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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": {
                                    "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\")\"]",
                                    "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 30MB.",
                                    "default": {},
                                    "x-example": 1
                                },
                                "allowedFileExtensions": {
                                    "type": "array",
                                    "description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long.",
                                    "default": [],
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "compression": {
                                    "type": "string",
                                    "description": "Compression algorithm choosen 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
                                }
                            },
                            "required": [
                                "name"
                            ]
                        }
                    }
                ]
            },
            "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"
                    }
                },
                "x-appwrite": {
                    "method": "deleteBucket",
                    "weight": 206,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/delete-bucket.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "buckets.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "bucketId",
                        "description": "Bucket unique ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<BUCKET_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/storage\/buckets\/{bucketId}\/files": {
            "get": {
                "summary": "List files",
                "operationId": "storageListFiles",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listFiles",
                    "weight": 208,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/list-files.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "files.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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"
                    }
                ]
            },
            "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createFile",
                    "weight": 207,
                    "cookies": false,
                    "type": "upload",
                    "deprecated": false,
                    "demo": "storage\/create-file.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/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": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFile",
                    "weight": 209,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/get-file.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "files.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FILE_ID>",
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Update file",
                "operationId": "storageUpdateFile",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "storage"
                ],
                "description": "Update a file by its unique ID. Only users with write permissions have access to update this resource.",
                "responses": {
                    "200": {
                        "description": "File",
                        "schema": {
                            "$ref": "#\/definitions\/file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateFile",
                    "weight": 214,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/update-file.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md",
                    "rate-limit": 60,
                    "rate-time": 60,
                    "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
                    "scope": "files.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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 unique ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FILE_ID>",
                        "in": "path"
                    },
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "Name of the file",
                                    "default": null,
                                    "x-example": "<NAME>"
                                },
                                "permissions": {
                                    "type": "array",
                                    "description": "An array of permission string. 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"
                                    }
                                }
                            }
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete file",
                "operationId": "storageDeleteFile",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "storage"
                ],
                "description": "Delete a file by its unique ID. Only users with write permissions have access to delete this resource.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteFile",
                    "weight": 215,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "storage\/delete-file.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md",
                    "rate-limit": 60,
                    "rate-time": 60,
                    "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}",
                    "scope": "files.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FILE_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/download": {
            "get": {
                "summary": "Get file for download",
                "operationId": "storageGetFileDownload",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "*\/*"
                ],
                "tags": [
                    "storage"
                ],
                "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": "File",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFileDownload",
                    "weight": 211,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "storage\/get-file-download.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "files.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "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.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FILE_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/preview": {
            "get": {
                "summary": "Get file preview",
                "operationId": "storageGetFilePreview",
                "consumes": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFilePreview",
                    "weight": 210,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "storage\/get-file-preview.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "files.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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",
                        "required": true,
                        "type": "string",
                        "x-example": "<FILE_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 100.",
                        "required": false,
                        "type": "integer",
                        "format": "int32",
                        "x-example": 0,
                        "default": 100,
                        "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",
                            "gif",
                            "png",
                            "webp",
                            "avif"
                        ],
                        "x-enum-name": "ImageFormat",
                        "x-enum-keys": [],
                        "default": "",
                        "in": "query"
                    }
                ]
            }
        },
        "\/storage\/buckets\/{bucketId}\/files\/{fileId}\/view": {
            "get": {
                "summary": "Get file for view",
                "operationId": "storageGetFileView",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "*\/*"
                ],
                "tags": [
                    "storage"
                ],
                "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": "File",
                        "schema": {
                            "type": "file"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getFileView",
                    "weight": 212,
                    "cookies": false,
                    "type": "location",
                    "deprecated": false,
                    "demo": "storage\/get-file-view.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "files.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "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.",
                        "required": true,
                        "type": "string",
                        "x-example": "<FILE_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/teams": {
            "get": {
                "summary": "List teams",
                "operationId": "teamsList",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "teams"
                ],
                "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": "Teams List",
                        "schema": {
                            "$ref": "#\/definitions\/teamList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "list",
                    "weight": 219,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/list.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "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: 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,
                        "type": "string",
                        "x-example": "<SEARCH>",
                        "default": "",
                        "in": "query"
                    }
                ]
            },
            "post": {
                "summary": "Create team",
                "operationId": "teamsCreate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "teams"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "create",
                    "weight": 218,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/create.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 220,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams",
                    "offline-key": "{teamId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "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.",
                "responses": {
                    "200": {
                        "description": "Team",
                        "schema": {
                            "$ref": "#\/definitions\/team"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateName",
                    "weight": 222,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/update-name.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams",
                    "offline-key": "{teamId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "New team name. Max length: 128 chars.",
                                    "default": null,
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "name"
                            ]
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete team",
                "operationId": "teamsDelete",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "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"
                    }
                },
                "x-appwrite": {
                    "method": "delete",
                    "weight": 224,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/delete.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/teams\/{teamId}\/memberships": {
            "get": {
                "summary": "List team memberships",
                "operationId": "teamsListMemberships",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listMemberships",
                    "weight": 226,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/list-memberships.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams\/{teamId}\/memberships",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "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). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, teamId, invited, joined, confirm",
                        "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"
                    }
                ]
            },
            "post": {
                "summary": "Create team membership",
                "operationId": "teamsCreateMembership",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/membership"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMembership",
                    "weight": 225,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/create-membership.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md",
                    "rate-limit": 10,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "email": {
                                    "type": "string",
                                    "description": "Email of the new team member.",
                                    "default": "",
                                    "x-example": "email@example.com"
                                },
                                "userId": {
                                    "type": "string",
                                    "description": "ID of the user to be added to a team.",
                                    "default": "",
                                    "x-example": "<USER_ID>"
                                },
                                "phone": {
                                    "type": "string",
                                    "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.",
                                    "default": "",
                                    "x-example": "+12065550100"
                                },
                                "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 32 characters long.",
                                    "default": null,
                                    "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.",
                                    "default": "",
                                    "x-example": "https:\/\/example.com"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "Name of the new team member. Max length: 128 chars.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "roles"
                            ]
                        }
                    }
                ]
            }
        },
        "\/teams\/{teamId}\/memberships\/{membershipId}": {
            "get": {
                "summary": "Get team membership",
                "operationId": "teamsGetMembership",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "teams"
                ],
                "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": "Membership",
                        "schema": {
                            "$ref": "#\/definitions\/membership"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getMembership",
                    "weight": 227,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/get-membership.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.read",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams\/{teamId}\/memberships",
                    "offline-key": "{membershipId}",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "membershipId",
                        "description": "Membership ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<MEMBERSHIP_ID>",
                        "in": "path"
                    }
                ]
            },
            "patch": {
                "summary": "Update membership",
                "operationId": "teamsUpdateMembership",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "teams"
                ],
                "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": "Membership",
                        "schema": {
                            "$ref": "#\/definitions\/membership"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMembership",
                    "weight": 228,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/update-membership.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "membershipId",
                        "description": "Membership ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<MEMBERSHIP_ID>",
                        "in": "path"
                    },
                    {
                        "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 32 characters long.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            },
                            "required": [
                                "roles"
                            ]
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete team membership",
                "operationId": "teamsDeleteMembership",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "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"
                    }
                },
                "x-appwrite": {
                    "method": "deleteMembership",
                    "weight": 230,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/delete-membership.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "Key": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "membershipId",
                        "description": "Membership ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<MEMBERSHIP_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/teams\/{teamId}\/memberships\/{membershipId}\/status": {
            "patch": {
                "summary": "Update team membership status",
                "operationId": "teamsUpdateMembershipStatus",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "teams"
                ],
                "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": "Membership",
                        "schema": {
                            "$ref": "#\/definitions\/membership"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMembershipStatus",
                    "weight": 229,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/update-membership-status.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "public",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "membershipId",
                        "description": "Membership ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<MEMBERSHIP_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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/teams\/{teamId}\/prefs": {
            "get": {
                "summary": "Get team preferences",
                "operationId": "teamsGetPrefs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "teams"
                ],
                "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": "Preferences",
                        "schema": {
                            "$ref": "#\/definitions\/preferences"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getPrefs",
                    "weight": 221,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/get-prefs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.read",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams\/{teamId}\/prefs",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Update 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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePrefs",
                    "weight": 223,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "teams\/update-prefs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "teams.write",
                    "platforms": [
                        "client",
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "\/teams\/{teamId}\/prefs",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Session": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Session": [],
                        "JWT": []
                    }
                ],
                "parameters": [
                    {
                        "name": "teamId",
                        "description": "Team ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<TEAM_ID>",
                        "in": "path"
                    },
                    {
                        "name": "payload",
                        "in": "body",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "prefs": {
                                    "type": "object",
                                    "description": "Prefs key-value JSON object.",
                                    "default": {},
                                    "x-example": "{}"
                                }
                            },
                            "required": [
                                "prefs"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users": {
            "get": {
                "summary": "List users",
                "operationId": "usersList",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/userList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "list",
                    "weight": 241,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels",
                        "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"
                    }
                ]
            },
            "post": {
                "summary": "Create user",
                "operationId": "usersCreate",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Create a new user.",
                "responses": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "create",
                    "weight": 232,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "phone": {
                                    "type": "string",
                                    "description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212.",
                                    "default": null,
                                    "x-example": "+12065550100"
                                },
                                "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"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/argon2": {
            "post": {
                "summary": "Create user with Argon2 password",
                "operationId": "usersCreateArgon2User",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "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": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createArgon2User",
                    "weight": 235,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-argon2user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using Argon2.",
                                    "default": null,
                                    "x-example": "password"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "User name. Max length: 128 chars.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/bcrypt": {
            "post": {
                "summary": "Create user with bcrypt password",
                "operationId": "usersCreateBcryptUser",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "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": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createBcryptUser",
                    "weight": 233,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-bcrypt-user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using Bcrypt.",
                                    "default": null,
                                    "x-example": "password"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "User name. Max length: 128 chars.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/identities": {
            "get": {
                "summary": "List identities",
                "operationId": "usersListIdentities",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Get identities for all users.",
                "responses": {
                    "200": {
                        "description": "Identities List",
                        "schema": {
                            "$ref": "#\/definitions\/identityList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listIdentities",
                    "weight": 249,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list-identities.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "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: userId, provider, providerUid, providerEmail, providerAccessTokenExpiry",
                        "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"
                    }
                ]
            }
        },
        "\/users\/identities\/{identityId}": {
            "delete": {
                "summary": "Delete identity",
                "operationId": "usersDeleteIdentity",
                "consumes": [
                    "application\/json"
                ],
                "produces": [],
                "tags": [
                    "users"
                ],
                "description": "Delete an identity by its unique ID.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteIdentity",
                    "weight": 272,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/delete-identity.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "identityId",
                        "description": "Identity ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<IDENTITY_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/users\/md5": {
            "post": {
                "summary": "Create user with MD5 password",
                "operationId": "usersCreateMD5User",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMD5User",
                    "weight": 234,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-m-d5user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using MD5.",
                                    "default": null,
                                    "x-example": "password"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "User name. Max length: 128 chars.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/phpass": {
            "post": {
                "summary": "Create user with PHPass password",
                "operationId": "usersCreatePHPassUser",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "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": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createPHPassUser",
                    "weight": 237,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-p-h-pass-user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "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>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using PHPass.",
                                    "default": null,
                                    "x-example": "password"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "User name. Max length: 128 chars.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/scrypt": {
            "post": {
                "summary": "Create user with Scrypt password",
                "operationId": "usersCreateScryptUser",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "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": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createScryptUser",
                    "weight": 238,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-scrypt-user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using Scrypt.",
                                    "default": null,
                                    "x-example": "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
                                },
                                "passwordMemory": {
                                    "type": "integer",
                                    "description": "Optional memory cost used to hash password.",
                                    "default": null,
                                    "x-example": null
                                },
                                "passwordParallel": {
                                    "type": "integer",
                                    "description": "Optional parallelization cost used to hash password.",
                                    "default": null,
                                    "x-example": null
                                },
                                "passwordLength": {
                                    "type": "integer",
                                    "description": "Optional hash length used to hash password.",
                                    "default": null,
                                    "x-example": null
                                },
                                "name": {
                                    "type": "string",
                                    "description": "User name. Max length: 128 chars.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password",
                                "passwordSalt",
                                "passwordCpu",
                                "passwordMemory",
                                "passwordParallel",
                                "passwordLength"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/scrypt-modified": {
            "post": {
                "summary": "Create user with Scrypt modified password",
                "operationId": "usersCreateScryptModifiedUser",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "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": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createScryptModifiedUser",
                    "weight": 239,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-scrypt-modified-user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using Scrypt Modified.",
                                    "default": null,
                                    "x-example": "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>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password",
                                "passwordSalt",
                                "passwordSaltSeparator",
                                "passwordSignerKey"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/sha": {
            "post": {
                "summary": "Create user with SHA password",
                "operationId": "usersCreateSHAUser",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "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": {
                    "201": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createSHAUser",
                    "weight": 236,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-s-h-a-user.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "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.",
                                    "default": null,
                                    "x-example": "<USER_ID>"
                                },
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                },
                                "password": {
                                    "type": "string",
                                    "description": "User password hashed using SHA.",
                                    "default": null,
                                    "x-example": "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",
                                        "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.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "userId",
                                "email",
                                "password"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}": {
            "get": {
                "summary": "Get user",
                "operationId": "usersGet",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Get a user by its unique ID.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "get",
                    "weight": 242,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/get.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "userId",
                        "description": "User ID.",
                        "required": true,
                        "type": "string",
                        "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"
                    }
                },
                "x-appwrite": {
                    "method": "delete",
                    "weight": 270,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/delete.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateEmail",
                    "weight": 255,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-email.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
                                "email": {
                                    "type": "string",
                                    "description": "User email.",
                                    "default": null,
                                    "x-example": "email@example.com"
                                }
                            },
                            "required": [
                                "email"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/jwts": {
            "post": {
                "summary": "Create user JWT",
                "operationId": "usersCreateJWT",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "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",
                        "schema": {
                            "$ref": "#\/definitions\/jwt"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createJWT",
                    "weight": 273,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-j-w-t.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": {
                                "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>"
                                },
                                "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
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateLabels",
                    "weight": 251,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-labels.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "x-example": null,
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            },
                            "required": [
                                "labels"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/logs": {
            "get": {
                "summary": "List user logs",
                "operationId": "usersListLogs",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listLogs",
                    "weight": 247,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list-logs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                ]
            }
        },
        "\/users\/{userId}\/memberships": {
            "get": {
                "summary": "List user memberships",
                "operationId": "usersListMemberships",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Get the user membership list by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Memberships List",
                        "schema": {
                            "$ref": "#\/definitions\/membershipList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listMemberships",
                    "weight": 246,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list-memberships.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "userId",
                        "description": "User ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<USER_ID>",
                        "in": "path"
                    }
                ]
            }
        },
        "\/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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMfa",
                    "weight": 260,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-mfa.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "mfa"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/mfa\/authenticators\/{type}": {
            "delete": {
                "summary": "Delete authenticator",
                "operationId": "usersDeleteMfaAuthenticator",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Delete an authenticator app.",
                "responses": {
                    "200": {
                        "description": "User",
                        "schema": {
                            "$ref": "#\/definitions\/user"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "deleteMfaAuthenticator",
                    "weight": 265,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/delete-mfa-authenticator.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listMfaFactors",
                    "weight": 261,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list-mfa-factors.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getMfaRecoveryCodes",
                    "weight": 262,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/get-mfa-recovery-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "userId",
                        "description": "User ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<USER_ID>",
                        "in": "path"
                    }
                ]
            },
            "put": {
                "summary": "Regenerate MFA recovery codes",
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateMfaRecoveryCodes",
                    "weight": 264,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-mfa-recovery-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createMfaRecoveryCodes",
                    "weight": 263,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-mfa-recovery-codes.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateName",
                    "weight": 253,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-name.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePassword",
                    "weight": 254,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-password.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePhone",
                    "weight": 256,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-phone.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "x-example": "+12065550100"
                                }
                            },
                            "required": [
                                "number"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/prefs": {
            "get": {
                "summary": "Get user preferences",
                "operationId": "usersGetPrefs",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Get the user preferences by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Preferences",
                        "schema": {
                            "$ref": "#\/definitions\/preferences"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getPrefs",
                    "weight": 243,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/get-prefs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePrefs",
                    "weight": 258,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-prefs.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": {},
                                    "x-example": "{}"
                                }
                            },
                            "required": [
                                "prefs"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/sessions": {
            "get": {
                "summary": "List user sessions",
                "operationId": "usersListSessions",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Get the user sessions list by its unique ID.",
                "responses": {
                    "200": {
                        "description": "Sessions List",
                        "schema": {
                            "$ref": "#\/definitions\/sessionList"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listSessions",
                    "weight": 245,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list-sessions.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.read",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "security": [
                    {
                        "Project": [],
                        "Key": []
                    }
                ],
                "parameters": [
                    {
                        "name": "userId",
                        "description": "User ID.",
                        "required": true,
                        "type": "string",
                        "x-example": "<USER_ID>",
                        "in": "path"
                    }
                ]
            },
            "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-appwrite": {
                    "method": "createSession",
                    "weight": 266,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                },
                "x-appwrite": {
                    "method": "deleteSessions",
                    "weight": 269,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/delete-sessions.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                    }
                },
                "x-appwrite": {
                    "method": "deleteSession",
                    "weight": 268,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/delete-session.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateStatus",
                    "weight": 250,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-status.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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`.",
                                    "default": null,
                                    "x-example": false
                                }
                            },
                            "required": [
                                "status"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/targets": {
            "get": {
                "summary": "List user targets",
                "operationId": "usersListTargets",
                "consumes": [
                    "application\/json"
                ],
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "listTargets",
                    "weight": 248,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/list-targets.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "targets.read",
                    "platforms": [
                        "server",
                        "console"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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: name, email, phone, status, passwordUpdate, registration, emailVerification, phoneVerification, labels",
                        "required": false,
                        "type": "array",
                        "collectionFormat": "multi",
                        "items": {
                            "type": "string"
                        },
                        "default": [],
                        "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createTarget",
                    "weight": 240,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-target.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "targets.write",
                    "platforms": [
                        "server",
                        "console"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "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",
                                        "sms",
                                        "push"
                                    ],
                                    "x-enum-name": "MessagingProviderType",
                                    "x-enum-keys": []
                                },
                                "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>"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23.",
                                    "default": "",
                                    "x-example": "<NAME>"
                                }
                            },
                            "required": [
                                "targetId",
                                "providerType",
                                "identifier"
                            ]
                        }
                    }
                ]
            }
        },
        "\/users\/{userId}\/targets\/{targetId}": {
            "get": {
                "summary": "Get user target",
                "operationId": "usersGetTarget",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Get a user's push notification target by ID.",
                "responses": {
                    "200": {
                        "description": "Target",
                        "schema": {
                            "$ref": "#\/definitions\/target"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "getTarget",
                    "weight": 244,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/get-target.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "targets.read",
                    "platforms": [
                        "server",
                        "console"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateTarget",
                    "weight": 259,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-target.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "targets.write",
                    "platforms": [
                        "server",
                        "console"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.)",
                                    "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>"
                                }
                            }
                        }
                    }
                ]
            },
            "delete": {
                "summary": "Delete user target",
                "operationId": "usersDeleteTarget",
                "consumes": [
                    "application\/json"
                ],
                "produces": [
                    "application\/json"
                ],
                "tags": [
                    "users"
                ],
                "description": "Delete a messaging target.",
                "responses": {
                    "204": {
                        "description": "No content"
                    }
                },
                "x-appwrite": {
                    "method": "deleteTarget",
                    "weight": 271,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/delete-target.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "targets.write",
                    "platforms": [
                        "server",
                        "console"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "createToken",
                    "weight": 267,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/create-token.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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",
                                    "default": 6,
                                    "x-example": 4
                                },
                                "expire": {
                                    "type": "integer",
                                    "description": "Token expiration period in seconds. The default expiration is 15 minutes.",
                                    "default": 900,
                                    "x-example": 60
                                }
                            }
                        }
                    }
                ]
            }
        },
        "\/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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updateEmailVerification",
                    "weight": 257,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-email-verification.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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.",
                                    "default": null,
                                    "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"
                        }
                    }
                },
                "x-appwrite": {
                    "method": "updatePhoneVerification",
                    "weight": 252,
                    "cookies": false,
                    "type": "",
                    "deprecated": false,
                    "demo": "users\/update-phone-verification.md",
                    "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md",
                    "rate-limit": 0,
                    "rate-time": 3600,
                    "rate-key": "url:{url},ip:{ip}",
                    "scope": "users.write",
                    "platforms": [
                        "server"
                    ],
                    "packaging": false,
                    "offline-model": "",
                    "offline-key": "",
                    "offline-response-key": "$id",
                    "auth": {
                        "Project": [],
                        "Key": []
                    }
                },
                "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
                                }
                            },
                            "required": [
                                "phoneVerification"
                            ]
                        }
                    }
                ]
            }
        }
    },
    "tags": [
        {
            "name": "account",
            "description": "The Account service allows you to authenticate and manage a user account.",
            "x-globalAttributes": []
        },
        {
            "name": "avatars",
            "description": "The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars.",
            "x-globalAttributes": []
        },
        {
            "name": "databases",
            "description": "The Databases service allows you to create structured collections of documents, query and filter lists of documents",
            "x-globalAttributes": [
                "databaseId"
            ]
        },
        {
            "name": "locale",
            "description": "The Locale service allows you to customize your app based on your users' location.",
            "x-globalAttributes": []
        },
        {
            "name": "health",
            "description": "The Health service allows you to both validate and monitor your Appwrite server's health.",
            "x-globalAttributes": []
        },
        {
            "name": "projects",
            "description": "The Project service allows you to manage all the projects in your Appwrite server.",
            "x-globalAttributes": []
        },
        {
            "name": "project",
            "description": "The Project service allows you to manage all the projects in your Appwrite server.",
            "x-globalAttributes": []
        },
        {
            "name": "storage",
            "description": "The Storage service allows you to manage your project files.",
            "x-globalAttributes": []
        },
        {
            "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",
            "x-globalAttributes": []
        },
        {
            "name": "users",
            "description": "The Users service allows you to manage your project users.",
            "x-globalAttributes": []
        },
        {
            "name": "functions",
            "description": "The Functions Service allows you view, create and manage your Cloud Functions.",
            "x-globalAttributes": []
        },
        {
            "name": "proxy",
            "description": "The Proxy Service allows you to configure actions for your domains beyond DNS configuration.",
            "x-globalAttributes": []
        },
        {
            "name": "graphql",
            "description": "The GraphQL API allows you to query and mutate your Appwrite server using GraphQL.",
            "x-globalAttributes": []
        },
        {
            "name": "console",
            "description": "The Console service allows you to interact with console relevant informations.",
            "x-globalAttributes": []
        },
        {
            "name": "migrations",
            "description": "The Migrations service allows you to migrate third-party data to your Appwrite project.",
            "x-globalAttributes": []
        },
        {
            "name": "messaging",
            "description": "The Messaging service allows you to send messages to any provider type (SMTP, push notification, SMS, etc.).",
            "x-globalAttributes": []
        }
    ],
    "definitions": {
        "any": {
            "description": "Any",
            "type": "object",
            "additionalProperties": true
        },
        "documentList": {
            "description": "Documents List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of documents documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "documents": {
                    "type": "array",
                    "description": "List of documents.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/document"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "documents"
            ]
        },
        "collectionList": {
            "description": "Collections List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of collections documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "collections": {
                    "type": "array",
                    "description": "List of collections.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/collection"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "collections"
            ]
        },
        "databaseList": {
            "description": "Databases List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of databases documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "databases": {
                    "type": "array",
                    "description": "List of databases.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/database"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "databases"
            ]
        },
        "indexList": {
            "description": "Indexes List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of indexes documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "indexes": {
                    "type": "array",
                    "description": "List of indexes.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/index"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "indexes"
            ]
        },
        "userList": {
            "description": "Users List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of users documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "users": {
                    "type": "array",
                    "description": "List of users.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/user"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "users"
            ]
        },
        "sessionList": {
            "description": "Sessions List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of sessions documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "sessions": {
                    "type": "array",
                    "description": "List of sessions.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/session"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "sessions"
            ]
        },
        "identityList": {
            "description": "Identities List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of identities documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "identities": {
                    "type": "array",
                    "description": "List of identities.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/identity"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "identities"
            ]
        },
        "logList": {
            "description": "Logs List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of logs documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "logs": {
                    "type": "array",
                    "description": "List of logs.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/log"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "logs"
            ]
        },
        "fileList": {
            "description": "Files List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of files documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "files": {
                    "type": "array",
                    "description": "List of files.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/file"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "files"
            ]
        },
        "bucketList": {
            "description": "Buckets List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of buckets documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "buckets": {
                    "type": "array",
                    "description": "List of buckets.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/bucket"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "buckets"
            ]
        },
        "teamList": {
            "description": "Teams List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of teams documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "teams": {
                    "type": "array",
                    "description": "List of teams.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/team"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "teams"
            ]
        },
        "membershipList": {
            "description": "Memberships List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of memberships documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "memberships": {
                    "type": "array",
                    "description": "List of memberships.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/membership"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "memberships"
            ]
        },
        "functionList": {
            "description": "Functions List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of functions documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "functions": {
                    "type": "array",
                    "description": "List of functions.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/function"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "functions"
            ]
        },
        "runtimeList": {
            "description": "Runtimes List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of runtimes documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "runtimes": {
                    "type": "array",
                    "description": "List of runtimes.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/runtime"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "runtimes"
            ]
        },
        "deploymentList": {
            "description": "Deployments List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of deployments documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "deployments": {
                    "type": "array",
                    "description": "List of deployments.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/deployment"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "deployments"
            ]
        },
        "executionList": {
            "description": "Executions List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of executions documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "executions": {
                    "type": "array",
                    "description": "List of executions.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/execution"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "executions"
            ]
        },
        "countryList": {
            "description": "Countries List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of countries documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "countries": {
                    "type": "array",
                    "description": "List of countries.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/country"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "countries"
            ]
        },
        "continentList": {
            "description": "Continents List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of continents documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "continents": {
                    "type": "array",
                    "description": "List of continents.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/continent"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "continents"
            ]
        },
        "languageList": {
            "description": "Languages List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of languages documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "languages": {
                    "type": "array",
                    "description": "List of languages.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/language"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "languages"
            ]
        },
        "currencyList": {
            "description": "Currencies List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of currencies documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "currencies": {
                    "type": "array",
                    "description": "List of currencies.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/currency"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "currencies"
            ]
        },
        "phoneList": {
            "description": "Phones List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of phones documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "phones": {
                    "type": "array",
                    "description": "List of phones.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/phone"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "phones"
            ]
        },
        "variableList": {
            "description": "Variables List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of variables documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "variables": {
                    "type": "array",
                    "description": "List of variables.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/variable"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "variables"
            ]
        },
        "localeCodeList": {
            "description": "Locale codes list",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of localeCodes documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "localeCodes": {
                    "type": "array",
                    "description": "List of localeCodes.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/localeCode"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "localeCodes"
            ]
        },
        "providerList": {
            "description": "Provider list",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of providers documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "providers": {
                    "type": "array",
                    "description": "List of providers.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/provider"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "providers"
            ]
        },
        "messageList": {
            "description": "Message list",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of messages documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "messages": {
                    "type": "array",
                    "description": "List of messages.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/message"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "messages"
            ]
        },
        "topicList": {
            "description": "Topic list",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of topics documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "topics": {
                    "type": "array",
                    "description": "List of topics.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/topic"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "topics"
            ]
        },
        "subscriberList": {
            "description": "Subscriber list",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of subscribers documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "subscribers": {
                    "type": "array",
                    "description": "List of subscribers.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/subscriber"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "subscribers"
            ]
        },
        "targetList": {
            "description": "Target list",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of targets documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "targets": {
                    "type": "array",
                    "description": "List of targets.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/target"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "targets"
            ]
        },
        "specificationList": {
            "description": "Specifications List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of specifications documents that matched your query.",
                    "x-example": 5,
                    "format": "int32"
                },
                "specifications": {
                    "type": "array",
                    "description": "List of specifications.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/specification"
                    },
                    "x-example": ""
                }
            },
            "required": [
                "total",
                "specifications"
            ]
        },
        "database": {
            "description": "Database",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Database ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "name": {
                    "type": "string",
                    "description": "Database name.",
                    "x-example": "My Database"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Database creation date 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"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "If database is enabled. Can be 'enabled' or 'disabled'. When disabled, the database is inaccessible to users, but remains accessible to Server SDKs using API keys.",
                    "x-example": false
                }
            },
            "required": [
                "$id",
                "name",
                "$createdAt",
                "$updatedAt",
                "enabled"
            ]
        },
        "collection": {
            "description": "Collection",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Collection ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Collection creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Collection update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$permissions": {
                    "type": "array",
                    "description": "Collection permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "read(\"any\")"
                    ]
                },
                "databaseId": {
                    "type": "string",
                    "description": "Database ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "name": {
                    "type": "string",
                    "description": "Collection name.",
                    "x-example": "My Collection"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Collection enabled. Can be 'enabled' or 'disabled'. When disabled, the collection is inaccessible to users, but remains accessible to Server SDKs using API keys.",
                    "x-example": false
                },
                "documentSecurity": {
                    "type": "boolean",
                    "description": "Whether document-level permissions are enabled. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
                    "x-example": true
                },
                "attributes": {
                    "type": "array",
                    "description": "Collection attributes.",
                    "items": {
                        "x-anyOf": [
                            {
                                "$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-example": {}
                },
                "indexes": {
                    "type": "array",
                    "description": "Collection indexes.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/index"
                    },
                    "x-example": {}
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "$permissions",
                "databaseId",
                "name",
                "enabled",
                "documentSecurity",
                "attributes",
                "indexes"
            ]
        },
        "attributeList": {
            "description": "Attributes List",
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "description": "Total number of attributes in the given collection.",
                    "x-example": 5,
                    "format": "int32"
                },
                "attributes": {
                    "type": "array",
                    "description": "List of attributes.",
                    "items": {
                        "x-anyOf": [
                            {
                                "$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-example": ""
                }
            },
            "required": [
                "total",
                "attributes"
            ]
        },
        "attributeString": {
            "description": "AttributeString",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "fullName"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "string"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "size": {
                    "type": "integer",
                    "description": "Attribute size.",
                    "x-example": 128,
                    "format": "int32"
                },
                "default": {
                    "type": "string",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": "default",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "size"
            ]
        },
        "attributeInteger": {
            "description": "AttributeInteger",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "count"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "integer"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "min": {
                    "type": "integer",
                    "description": "Minimum value to enforce for new documents.",
                    "x-example": 1,
                    "format": "int32",
                    "x-nullable": true
                },
                "max": {
                    "type": "integer",
                    "description": "Maximum value to enforce for new documents.",
                    "x-example": 10,
                    "format": "int32",
                    "x-nullable": true
                },
                "default": {
                    "type": "integer",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": 10,
                    "format": "int32",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt"
            ]
        },
        "attributeFloat": {
            "description": "AttributeFloat",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "percentageCompleted"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "double"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "min": {
                    "type": "number",
                    "description": "Minimum value to enforce for new documents.",
                    "x-example": 1.5,
                    "format": "double",
                    "x-nullable": true
                },
                "max": {
                    "type": "number",
                    "description": "Maximum value to enforce for new documents.",
                    "x-example": 10.5,
                    "format": "double",
                    "x-nullable": true
                },
                "default": {
                    "type": "number",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": 2.5,
                    "format": "double",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt"
            ]
        },
        "attributeBoolean": {
            "description": "AttributeBoolean",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "isEnabled"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "boolean"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "default": {
                    "type": "boolean",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": false,
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt"
            ]
        },
        "attributeEmail": {
            "description": "AttributeEmail",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "userEmail"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "string"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "format": {
                    "type": "string",
                    "description": "String format.",
                    "x-example": "email"
                },
                "default": {
                    "type": "string",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": "default@example.com",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "format"
            ]
        },
        "attributeEnum": {
            "description": "AttributeEnum",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "status"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "string"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "elements": {
                    "type": "array",
                    "description": "Array of elements in enumerated type.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": "element"
                },
                "format": {
                    "type": "string",
                    "description": "String format.",
                    "x-example": "enum"
                },
                "default": {
                    "type": "string",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": "element",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "elements",
                "format"
            ]
        },
        "attributeIp": {
            "description": "AttributeIP",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "ipAddress"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "string"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "format": {
                    "type": "string",
                    "description": "String format.",
                    "x-example": "ip"
                },
                "default": {
                    "type": "string",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": "192.0.2.0",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "format"
            ]
        },
        "attributeUrl": {
            "description": "AttributeURL",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "githubUrl"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "string"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "format": {
                    "type": "string",
                    "description": "String format.",
                    "x-example": "url"
                },
                "default": {
                    "type": "string",
                    "description": "Default value for attribute when not provided. Cannot be set when attribute is required.",
                    "x-example": "http:\/\/example.com",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "format"
            ]
        },
        "attributeDatetime": {
            "description": "AttributeDatetime",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "birthDay"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "datetime"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "format": {
                    "type": "string",
                    "description": "ISO 8601 format.",
                    "x-example": "datetime"
                },
                "default": {
                    "type": "string",
                    "description": "Default value for attribute when not provided. Only null is optional",
                    "x-example": "2020-10-15T06:38:00.000+00:00",
                    "x-nullable": true
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "format"
            ]
        },
        "attributeRelationship": {
            "description": "AttributeRelationship",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Attribute Key.",
                    "x-example": "fullName"
                },
                "type": {
                    "type": "string",
                    "description": "Attribute type.",
                    "x-example": "string"
                },
                "status": {
                    "type": "string",
                    "description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an attribute.",
                    "x-example": "string"
                },
                "required": {
                    "type": "boolean",
                    "description": "Is attribute required?",
                    "x-example": true
                },
                "array": {
                    "type": "boolean",
                    "description": "Is attribute an array?",
                    "x-example": false,
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Attribute creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Attribute update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "relatedCollection": {
                    "type": "string",
                    "description": "The ID of the related collection.",
                    "x-example": "collection"
                },
                "relationType": {
                    "type": "string",
                    "description": "The type of the relationship.",
                    "x-example": "oneToOne|oneToMany|manyToOne|manyToMany"
                },
                "twoWay": {
                    "type": "boolean",
                    "description": "Is the relationship two-way?",
                    "x-example": false
                },
                "twoWayKey": {
                    "type": "string",
                    "description": "The key of the two-way relationship.",
                    "x-example": "string"
                },
                "onDelete": {
                    "type": "string",
                    "description": "How deleting the parent document will propagate to child documents.",
                    "x-example": "restrict|cascade|setNull"
                },
                "side": {
                    "type": "string",
                    "description": "Whether this is the parent or child side of the relationship",
                    "x-example": "parent|child"
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "required",
                "$createdAt",
                "$updatedAt",
                "relatedCollection",
                "relationType",
                "twoWay",
                "twoWayKey",
                "onDelete",
                "side"
            ]
        },
        "index": {
            "description": "Index",
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Index Key.",
                    "x-example": "index1"
                },
                "type": {
                    "type": "string",
                    "description": "Index type.",
                    "x-example": "primary"
                },
                "status": {
                    "type": "string",
                    "description": "Index status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`",
                    "x-example": "available"
                },
                "error": {
                    "type": "string",
                    "description": "Error message. Displays error generated on failure of creating or deleting an index.",
                    "x-example": "string"
                },
                "attributes": {
                    "type": "array",
                    "description": "Index attributes.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": []
                },
                "orders": {
                    "type": "array",
                    "description": "Index orders.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [],
                    "x-nullable": true
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Index creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Index update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                }
            },
            "required": [
                "key",
                "type",
                "status",
                "error",
                "attributes",
                "$createdAt",
                "$updatedAt"
            ]
        },
        "document": {
            "description": "Document",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Document ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$collectionId": {
                    "type": "string",
                    "description": "Collection ID.",
                    "x-example": "5e5ea5c15117e"
                },
                "$databaseId": {
                    "type": "string",
                    "description": "Database ID.",
                    "x-example": "5e5ea5c15117e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Document creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Document update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$permissions": {
                    "type": "array",
                    "description": "Document permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "read(\"any\")"
                    ]
                }
            },
            "additionalProperties": true,
            "required": [
                "$id",
                "$collectionId",
                "$databaseId",
                "$createdAt",
                "$updatedAt",
                "$permissions"
            ]
        },
        "log": {
            "description": "Log",
            "type": "object",
            "properties": {
                "event": {
                    "type": "string",
                    "description": "Event name.",
                    "x-example": "account.sessions.create"
                },
                "userId": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "610fc2f985ee0"
                },
                "userEmail": {
                    "type": "string",
                    "description": "User Email.",
                    "x-example": "john@appwrite.io"
                },
                "userName": {
                    "type": "string",
                    "description": "User Name.",
                    "x-example": "John Doe"
                },
                "mode": {
                    "type": "string",
                    "description": "API mode when event triggered.",
                    "x-example": "admin"
                },
                "ip": {
                    "type": "string",
                    "description": "IP session in use when the session was created.",
                    "x-example": "127.0.0.1"
                },
                "time": {
                    "type": "string",
                    "description": "Log creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "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": [
                "event",
                "userId",
                "userEmail",
                "userName",
                "mode",
                "ip",
                "time",
                "osCode",
                "osName",
                "osVersion",
                "clientType",
                "clientCode",
                "clientName",
                "clientVersion",
                "clientEngine",
                "clientEngineVersion",
                "deviceName",
                "deviceBrand",
                "deviceModel",
                "countryCode",
                "countryName"
            ]
        },
        "user": {
            "description": "User",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "User creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "User update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "name": {
                    "type": "string",
                    "description": "User name.",
                    "x-example": "John Doe"
                },
                "password": {
                    "type": "string",
                    "description": "Hashed user password.",
                    "x-example": "$argon2id$v=19$m=2048,t=4,p=3$aUZjLnliVWRINmFNTWMudg$5S+x+7uA31xFnrHFT47yFwcJeaP0w92L\/4LdgrVRXxE",
                    "x-nullable": true
                },
                "hash": {
                    "type": "string",
                    "description": "Password hashing algorithm.",
                    "x-example": "argon2",
                    "x-nullable": true
                },
                "hashOptions": {
                    "type": "object",
                    "description": "Password hashing algorithm configuration.",
                    "x-example": {},
                    "items": {
                        "x-oneOf": [
                            {
                                "$ref": "#\/definitions\/algoArgon2"
                            },
                            {
                                "$ref": "#\/definitions\/algoScrypt"
                            },
                            {
                                "$ref": "#\/definitions\/algoScryptModified"
                            },
                            {
                                "$ref": "#\/definitions\/algoBcrypt"
                            },
                            {
                                "$ref": "#\/definitions\/algoPhpass"
                            },
                            {
                                "$ref": "#\/definitions\/algoSha"
                            },
                            {
                                "$ref": "#\/definitions\/algoMd5"
                            }
                        ]
                    },
                    "x-nullable": true
                },
                "registration": {
                    "type": "string",
                    "description": "User registration date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "status": {
                    "type": "boolean",
                    "description": "User status. Pass `true` for enabled and `false` for disabled.",
                    "x-example": true
                },
                "labels": {
                    "type": "array",
                    "description": "Labels for the user.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "vip"
                    ]
                },
                "passwordUpdate": {
                    "type": "string",
                    "description": "Password update time in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "email": {
                    "type": "string",
                    "description": "User email address.",
                    "x-example": "john@appwrite.io"
                },
                "phone": {
                    "type": "string",
                    "description": "User phone number in E.164 format.",
                    "x-example": "+4930901820"
                },
                "emailVerification": {
                    "type": "boolean",
                    "description": "Email verification status.",
                    "x-example": true
                },
                "phoneVerification": {
                    "type": "boolean",
                    "description": "Phone verification status.",
                    "x-example": true
                },
                "mfa": {
                    "type": "boolean",
                    "description": "Multi factor authentication status.",
                    "x-example": true
                },
                "prefs": {
                    "type": "object",
                    "description": "User preferences as a key-value object",
                    "x-example": {
                        "theme": "pink",
                        "timezone": "UTC"
                    },
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/preferences"
                    }
                },
                "targets": {
                    "type": "array",
                    "description": "A user-owned message receiver. A single user may have multiple e.g. emails, phones, and a browser. Each target is registered with a single provider.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/target"
                    },
                    "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"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "name",
                "registration",
                "status",
                "labels",
                "passwordUpdate",
                "email",
                "phone",
                "emailVerification",
                "phoneVerification",
                "mfa",
                "prefs",
                "targets",
                "accessedAt"
            ]
        },
        "algoMd5": {
            "description": "AlgoMD5",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "md5"
                }
            },
            "required": [
                "type"
            ]
        },
        "algoSha": {
            "description": "AlgoSHA",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "sha"
                }
            },
            "required": [
                "type"
            ]
        },
        "algoPhpass": {
            "description": "AlgoPHPass",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "phpass"
                }
            },
            "required": [
                "type"
            ]
        },
        "algoBcrypt": {
            "description": "AlgoBcrypt",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "bcrypt"
                }
            },
            "required": [
                "type"
            ]
        },
        "algoScrypt": {
            "description": "AlgoScrypt",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "scrypt"
                },
                "costCpu": {
                    "type": "integer",
                    "description": "CPU complexity of computed hash.",
                    "x-example": 8,
                    "format": "int32"
                },
                "costMemory": {
                    "type": "integer",
                    "description": "Memory complexity of computed hash.",
                    "x-example": 14,
                    "format": "int32"
                },
                "costParallel": {
                    "type": "integer",
                    "description": "Parallelization of computed hash.",
                    "x-example": 1,
                    "format": "int32"
                },
                "length": {
                    "type": "integer",
                    "description": "Length used to compute hash.",
                    "x-example": 64,
                    "format": "int32"
                }
            },
            "required": [
                "type",
                "costCpu",
                "costMemory",
                "costParallel",
                "length"
            ]
        },
        "algoScryptModified": {
            "description": "AlgoScryptModified",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "scryptMod"
                },
                "salt": {
                    "type": "string",
                    "description": "Salt used to compute hash.",
                    "x-example": "UxLMreBr6tYyjQ=="
                },
                "saltSeparator": {
                    "type": "string",
                    "description": "Separator used to compute hash.",
                    "x-example": "Bw=="
                },
                "signerKey": {
                    "type": "string",
                    "description": "Key used to compute hash.",
                    "x-example": "XyEKE9RcTDeLEsL\/RjwPDBv\/RqDl8fb3gpYEOQaPihbxf1ZAtSOHCjuAAa7Q3oHpCYhXSN9tizHgVOwn6krflQ=="
                }
            },
            "required": [
                "type",
                "salt",
                "saltSeparator",
                "signerKey"
            ]
        },
        "algoArgon2": {
            "description": "AlgoArgon2",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Algo type.",
                    "x-example": "argon2"
                },
                "memoryCost": {
                    "type": "integer",
                    "description": "Memory used to compute hash.",
                    "x-example": 65536,
                    "format": "int32"
                },
                "timeCost": {
                    "type": "integer",
                    "description": "Amount of time consumed to compute hash",
                    "x-example": 4,
                    "format": "int32"
                },
                "threads": {
                    "type": "integer",
                    "description": "Number of threads used to compute hash.",
                    "x-example": 3,
                    "format": "int32"
                }
            },
            "required": [
                "type",
                "memoryCost",
                "timeCost",
                "threads"
            ]
        },
        "preferences": {
            "description": "Preferences",
            "type": "object",
            "additionalProperties": true
        },
        "session": {
            "description": "Session",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Session ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Session creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Session update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "userId": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "5e5bb8c16897e"
                },
                "expire": {
                    "type": "string",
                    "description": "Session expiration date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "provider": {
                    "type": "string",
                    "description": "Session Provider.",
                    "x-example": "email"
                },
                "providerUid": {
                    "type": "string",
                    "description": "Session Provider User ID.",
                    "x-example": "user@example.com"
                },
                "providerAccessToken": {
                    "type": "string",
                    "description": "Session Provider Access Token.",
                    "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3"
                },
                "providerAccessTokenExpiry": {
                    "type": "string",
                    "description": "The date of when the access token expires in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "providerRefreshToken": {
                    "type": "string",
                    "description": "Session Provider Refresh Token.",
                    "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3"
                },
                "ip": {
                    "type": "string",
                    "description": "IP in use when the session was created.",
                    "x-example": "127.0.0.1"
                },
                "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"
                },
                "current": {
                    "type": "boolean",
                    "description": "Returns true if this the current user session.",
                    "x-example": true
                },
                "factors": {
                    "type": "array",
                    "description": "Returns a list of active session factors.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "email"
                    ]
                },
                "secret": {
                    "type": "string",
                    "description": "Secret used to authenticate the user. Only included if the request was made with an API key",
                    "x-example": "5e5bb8c16897e"
                },
                "mfaUpdatedAt": {
                    "type": "string",
                    "description": "Most recent date in ISO 8601 format when the session successfully passed MFA challenge.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "userId",
                "expire",
                "provider",
                "providerUid",
                "providerAccessToken",
                "providerAccessTokenExpiry",
                "providerRefreshToken",
                "ip",
                "osCode",
                "osName",
                "osVersion",
                "clientType",
                "clientCode",
                "clientName",
                "clientVersion",
                "clientEngine",
                "clientEngineVersion",
                "deviceName",
                "deviceBrand",
                "deviceModel",
                "countryCode",
                "countryName",
                "current",
                "factors",
                "secret",
                "mfaUpdatedAt"
            ]
        },
        "identity": {
            "description": "Identity",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Identity ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Identity creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Identity update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "userId": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "5e5bb8c16897e"
                },
                "provider": {
                    "type": "string",
                    "description": "Identity Provider.",
                    "x-example": "email"
                },
                "providerUid": {
                    "type": "string",
                    "description": "ID of the User in the Identity Provider.",
                    "x-example": "5e5bb8c16897e"
                },
                "providerEmail": {
                    "type": "string",
                    "description": "Email of the User in the Identity Provider.",
                    "x-example": "user@example.com"
                },
                "providerAccessToken": {
                    "type": "string",
                    "description": "Identity Provider Access Token.",
                    "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3"
                },
                "providerAccessTokenExpiry": {
                    "type": "string",
                    "description": "The date of when the access token expires in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "providerRefreshToken": {
                    "type": "string",
                    "description": "Identity Provider Refresh Token.",
                    "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "userId",
                "provider",
                "providerUid",
                "providerEmail",
                "providerAccessToken",
                "providerAccessTokenExpiry",
                "providerRefreshToken"
            ]
        },
        "token": {
            "description": "Token",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Token ID.",
                    "x-example": "bb8ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Token creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "userId": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "5e5ea5c168bb8"
                },
                "secret": {
                    "type": "string",
                    "description": "Token secret key. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.",
                    "x-example": ""
                },
                "expire": {
                    "type": "string",
                    "description": "Token expiration date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "phrase": {
                    "type": "string",
                    "description": "Security phrase of a token. Empty if security phrase was not requested when creating a token. It includes randomly generated phrase which is also sent in the external resource such as email.",
                    "x-example": "Golden Fox"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "userId",
                "secret",
                "expire",
                "phrase"
            ]
        },
        "jwt": {
            "description": "JWT",
            "type": "object",
            "properties": {
                "jwt": {
                    "type": "string",
                    "description": "JWT encoded string.",
                    "x-example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
                }
            },
            "required": [
                "jwt"
            ]
        },
        "locale": {
            "description": "Locale",
            "type": "object",
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "User IP address.",
                    "x-example": "127.0.0.1"
                },
                "countryCode": {
                    "type": "string",
                    "description": "Country code in [ISO 3166-1](http:\/\/en.wikipedia.org\/wiki\/ISO_3166-1) two-character format",
                    "x-example": "US"
                },
                "country": {
                    "type": "string",
                    "description": "Country name. This field support localization.",
                    "x-example": "United States"
                },
                "continentCode": {
                    "type": "string",
                    "description": "Continent code. A two character continent code \"AF\" for Africa, \"AN\" for Antarctica, \"AS\" for Asia, \"EU\" for Europe, \"NA\" for North America, \"OC\" for Oceania, and \"SA\" for South America.",
                    "x-example": "NA"
                },
                "continent": {
                    "type": "string",
                    "description": "Continent name. This field support localization.",
                    "x-example": "North America"
                },
                "eu": {
                    "type": "boolean",
                    "description": "True if country is part of the European Union.",
                    "x-example": false
                },
                "currency": {
                    "type": "string",
                    "description": "Currency code in [ISO 4217-1](http:\/\/en.wikipedia.org\/wiki\/ISO_4217) three-character format",
                    "x-example": "USD"
                }
            },
            "required": [
                "ip",
                "countryCode",
                "country",
                "continentCode",
                "continent",
                "eu",
                "currency"
            ]
        },
        "localeCode": {
            "description": "LocaleCode",
            "type": "object",
            "properties": {
                "code": {
                    "type": "string",
                    "description": "Locale codes in [ISO 639-1](https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes)",
                    "x-example": "en-us"
                },
                "name": {
                    "type": "string",
                    "description": "Locale name",
                    "x-example": "US"
                }
            },
            "required": [
                "code",
                "name"
            ]
        },
        "file": {
            "description": "File",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "File ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "bucketId": {
                    "type": "string",
                    "description": "Bucket ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "File creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "File update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$permissions": {
                    "type": "array",
                    "description": "File permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "read(\"any\")"
                    ]
                },
                "name": {
                    "type": "string",
                    "description": "File name.",
                    "x-example": "Pink.png"
                },
                "signature": {
                    "type": "string",
                    "description": "File MD5 signature.",
                    "x-example": "5d529fd02b544198ae075bd57c1762bb"
                },
                "mimeType": {
                    "type": "string",
                    "description": "File mime type.",
                    "x-example": "image\/png"
                },
                "sizeOriginal": {
                    "type": "integer",
                    "description": "File original size in bytes.",
                    "x-example": 17890,
                    "format": "int32"
                },
                "chunksTotal": {
                    "type": "integer",
                    "description": "Total number of chunks available",
                    "x-example": 17890,
                    "format": "int32"
                },
                "chunksUploaded": {
                    "type": "integer",
                    "description": "Total number of chunks uploaded",
                    "x-example": 17890,
                    "format": "int32"
                }
            },
            "required": [
                "$id",
                "bucketId",
                "$createdAt",
                "$updatedAt",
                "$permissions",
                "name",
                "signature",
                "mimeType",
                "sizeOriginal",
                "chunksTotal",
                "chunksUploaded"
            ]
        },
        "bucket": {
            "description": "Bucket",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Bucket ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Bucket creation time in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Bucket update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$permissions": {
                    "type": "array",
                    "description": "Bucket permissions. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "read(\"any\")"
                    ]
                },
                "fileSecurity": {
                    "type": "boolean",
                    "description": "Whether file-level security is enabled. [Learn more about permissions](https:\/\/appwrite.io\/docs\/permissions).",
                    "x-example": true
                },
                "name": {
                    "type": "string",
                    "description": "Bucket name.",
                    "x-example": "Documents"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Bucket enabled.",
                    "x-example": false
                },
                "maximumFileSize": {
                    "type": "integer",
                    "description": "Maximum file size supported.",
                    "x-example": 100,
                    "format": "int32"
                },
                "allowedFileExtensions": {
                    "type": "array",
                    "description": "Allowed file extensions.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "jpg",
                        "png"
                    ]
                },
                "compression": {
                    "type": "string",
                    "description": "Compression algorithm choosen for compression. Will be one of none, [gzip](https:\/\/en.wikipedia.org\/wiki\/Gzip), or [zstd](https:\/\/en.wikipedia.org\/wiki\/Zstd).",
                    "x-example": "gzip"
                },
                "encryption": {
                    "type": "boolean",
                    "description": "Bucket is encrypted.",
                    "x-example": false
                },
                "antivirus": {
                    "type": "boolean",
                    "description": "Virus scanning is enabled.",
                    "x-example": false
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "$permissions",
                "fileSecurity",
                "name",
                "enabled",
                "maximumFileSize",
                "allowedFileExtensions",
                "compression",
                "encryption",
                "antivirus"
            ]
        },
        "team": {
            "description": "Team",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Team ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Team creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Team update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "name": {
                    "type": "string",
                    "description": "Team name.",
                    "x-example": "VIP"
                },
                "total": {
                    "type": "integer",
                    "description": "Total number of team members.",
                    "x-example": 7,
                    "format": "int32"
                },
                "prefs": {
                    "type": "object",
                    "description": "Team preferences as a key-value object",
                    "x-example": {
                        "theme": "pink",
                        "timezone": "UTC"
                    },
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/preferences"
                    }
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "name",
                "total",
                "prefs"
            ]
        },
        "membership": {
            "description": "Membership",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Membership ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Membership creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Membership update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "userId": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "userName": {
                    "type": "string",
                    "description": "User name. Hide this attribute by toggling membership privacy in the Console.",
                    "x-example": "John Doe"
                },
                "userEmail": {
                    "type": "string",
                    "description": "User email address. Hide this attribute by toggling membership privacy in the Console.",
                    "x-example": "john@appwrite.io"
                },
                "teamId": {
                    "type": "string",
                    "description": "Team ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "teamName": {
                    "type": "string",
                    "description": "Team name.",
                    "x-example": "VIP"
                },
                "invited": {
                    "type": "string",
                    "description": "Date, the user has been invited to join the team in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "joined": {
                    "type": "string",
                    "description": "Date, the user has accepted the invitation to join the team in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "confirm": {
                    "type": "boolean",
                    "description": "User confirmation status, true if the user has joined the team or false otherwise.",
                    "x-example": false
                },
                "mfa": {
                    "type": "boolean",
                    "description": "Multi factor authentication status, true if the user has MFA enabled or false otherwise. Hide this attribute by toggling membership privacy in the Console.",
                    "x-example": false
                },
                "roles": {
                    "type": "array",
                    "description": "User list of roles",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "owner"
                    ]
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "userId",
                "userName",
                "userEmail",
                "teamId",
                "teamName",
                "invited",
                "joined",
                "confirm",
                "mfa",
                "roles"
            ]
        },
        "function": {
            "description": "Function",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Function ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Function creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Function update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "execute": {
                    "type": "array",
                    "description": "Execution permissions.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": "users"
                },
                "name": {
                    "type": "string",
                    "description": "Function name.",
                    "x-example": "My Function"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Function enabled.",
                    "x-example": false
                },
                "live": {
                    "type": "boolean",
                    "description": "Is the function deployed with the latest configuration? This is set to false if you've changed an environment variables, entrypoint, commands, or other settings that needs redeploy to be applied. When the value is false, redeploy the function to update it with the latest configuration.",
                    "x-example": false
                },
                "logging": {
                    "type": "boolean",
                    "description": "Whether executions will be logged. When set to false, executions will not be logged, but will reduce resource used by your Appwrite project.",
                    "x-example": false
                },
                "runtime": {
                    "type": "string",
                    "description": "Function execution runtime.",
                    "x-example": "python-3.8"
                },
                "deployment": {
                    "type": "string",
                    "description": "Function's active deployment ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "scopes": {
                    "type": "array",
                    "description": "Allowed permission scopes.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": "users.read"
                },
                "vars": {
                    "type": "array",
                    "description": "Function variables.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/variable"
                    },
                    "x-example": []
                },
                "events": {
                    "type": "array",
                    "description": "Function trigger events.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": "account.create"
                },
                "schedule": {
                    "type": "string",
                    "description": "Function execution schedult in CRON format.",
                    "x-example": "5 4 * * *"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Function execution timeout in seconds.",
                    "x-example": 300,
                    "format": "int32"
                },
                "entrypoint": {
                    "type": "string",
                    "description": "The entrypoint file used to execute the deployment.",
                    "x-example": "index.js"
                },
                "commands": {
                    "type": "string",
                    "description": "The build command used to build the deployment.",
                    "x-example": "npm install"
                },
                "version": {
                    "type": "string",
                    "description": "Version of Open Runtimes used for the function.",
                    "x-example": "v2"
                },
                "installationId": {
                    "type": "string",
                    "description": "Function VCS (Version Control System) installation id.",
                    "x-example": "6m40at4ejk5h2u9s1hboo"
                },
                "providerRepositoryId": {
                    "type": "string",
                    "description": "VCS (Version Control System) Repository ID",
                    "x-example": "appwrite"
                },
                "providerBranch": {
                    "type": "string",
                    "description": "VCS (Version Control System) branch name",
                    "x-example": "main"
                },
                "providerRootDirectory": {
                    "type": "string",
                    "description": "Path to function in VCS (Version Control System) repository",
                    "x-example": "functions\/helloWorld"
                },
                "providerSilentMode": {
                    "type": "boolean",
                    "description": "Is VCS (Version Control System) connection is in silent mode? When in silence mode, no comments will be posted on the repository pull or merge requests",
                    "x-example": false
                },
                "specification": {
                    "type": "string",
                    "description": "Machine specification for builds and executions.",
                    "x-example": "s-1vcpu-512mb"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "execute",
                "name",
                "enabled",
                "live",
                "logging",
                "runtime",
                "deployment",
                "scopes",
                "vars",
                "events",
                "schedule",
                "timeout",
                "entrypoint",
                "commands",
                "version",
                "installationId",
                "providerRepositoryId",
                "providerBranch",
                "providerRootDirectory",
                "providerSilentMode",
                "specification"
            ]
        },
        "runtime": {
            "description": "Runtime",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Runtime ID.",
                    "x-example": "python-3.8"
                },
                "key": {
                    "type": "string",
                    "description": "Parent runtime key.",
                    "x-example": "python"
                },
                "name": {
                    "type": "string",
                    "description": "Runtime Name.",
                    "x-example": "Python"
                },
                "version": {
                    "type": "string",
                    "description": "Runtime version.",
                    "x-example": "3.8"
                },
                "base": {
                    "type": "string",
                    "description": "Base Docker image used to build the runtime.",
                    "x-example": "python:3.8-alpine"
                },
                "image": {
                    "type": "string",
                    "description": "Image name of Docker Hub.",
                    "x-example": "appwrite\\\/runtime-for-python:3.8"
                },
                "logo": {
                    "type": "string",
                    "description": "Name of the logo image.",
                    "x-example": "python.png"
                },
                "supports": {
                    "type": "array",
                    "description": "List of supported architectures.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": "amd64"
                }
            },
            "required": [
                "$id",
                "key",
                "name",
                "version",
                "base",
                "image",
                "logo",
                "supports"
            ]
        },
        "deployment": {
            "description": "Deployment",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Deployment ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Deployment creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Deployment update date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "type": {
                    "type": "string",
                    "description": "Type of deployment.",
                    "x-example": "vcs"
                },
                "resourceId": {
                    "type": "string",
                    "description": "Resource ID.",
                    "x-example": "5e5ea6g16897e"
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource type.",
                    "x-example": "functions"
                },
                "entrypoint": {
                    "type": "string",
                    "description": "The entrypoint file to use to execute the deployment code.",
                    "x-example": "index.js"
                },
                "size": {
                    "type": "integer",
                    "description": "The code size in bytes.",
                    "x-example": 128,
                    "format": "int32"
                },
                "buildSize": {
                    "type": "integer",
                    "description": "The build output size in bytes.",
                    "x-example": 128,
                    "format": "int32"
                },
                "buildId": {
                    "type": "string",
                    "description": "The current build ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "activate": {
                    "type": "boolean",
                    "description": "Whether the deployment should be automatically activated.",
                    "x-example": true
                },
                "status": {
                    "type": "string",
                    "description": "The deployment status. Possible values are \"processing\", \"building\", \"waiting\", \"ready\", and \"failed\".",
                    "x-example": "ready"
                },
                "buildLogs": {
                    "type": "string",
                    "description": "The build logs.",
                    "x-example": "Compiling source files..."
                },
                "buildTime": {
                    "type": "integer",
                    "description": "The current build time in seconds.",
                    "x-example": 128,
                    "format": "int32"
                },
                "providerRepositoryName": {
                    "type": "string",
                    "description": "The name of the vcs provider repository",
                    "x-example": "database"
                },
                "providerRepositoryOwner": {
                    "type": "string",
                    "description": "The name of the vcs provider repository owner",
                    "x-example": "utopia"
                },
                "providerRepositoryUrl": {
                    "type": "string",
                    "description": "The url of the vcs provider repository",
                    "x-example": "https:\/\/github.com\/vermakhushboo\/g4-node-function"
                },
                "providerBranch": {
                    "type": "string",
                    "description": "The branch of the vcs repository",
                    "x-example": "0.7.x"
                },
                "providerCommitHash": {
                    "type": "string",
                    "description": "The commit hash of the vcs commit",
                    "x-example": "7c3f25d"
                },
                "providerCommitAuthorUrl": {
                    "type": "string",
                    "description": "The url of vcs commit author",
                    "x-example": "https:\/\/github.com\/vermakhushboo"
                },
                "providerCommitAuthor": {
                    "type": "string",
                    "description": "The name of vcs commit author",
                    "x-example": "Khushboo Verma"
                },
                "providerCommitMessage": {
                    "type": "string",
                    "description": "The commit message",
                    "x-example": "Update index.js"
                },
                "providerCommitUrl": {
                    "type": "string",
                    "description": "The url of the vcs commit",
                    "x-example": "https:\/\/github.com\/vermakhushboo\/g4-node-function\/commit\/60c0416257a9cbcdd96b2d370c38d8f8d150ccfb"
                },
                "providerBranchUrl": {
                    "type": "string",
                    "description": "The branch of the vcs repository",
                    "x-example": "https:\/\/github.com\/vermakhushboo\/appwrite\/tree\/0.7.x"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "type",
                "resourceId",
                "resourceType",
                "entrypoint",
                "size",
                "buildSize",
                "buildId",
                "activate",
                "status",
                "buildLogs",
                "buildTime",
                "providerRepositoryName",
                "providerRepositoryOwner",
                "providerRepositoryUrl",
                "providerBranch",
                "providerCommitHash",
                "providerCommitAuthorUrl",
                "providerCommitAuthor",
                "providerCommitMessage",
                "providerCommitUrl",
                "providerBranchUrl"
            ]
        },
        "execution": {
            "description": "Execution",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Execution ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Execution creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$updatedAt": {
                    "type": "string",
                    "description": "Execution upate date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$permissions": {
                    "type": "array",
                    "description": "Execution roles.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "any"
                    ]
                },
                "functionId": {
                    "type": "string",
                    "description": "Function ID.",
                    "x-example": "5e5ea6g16897e"
                },
                "trigger": {
                    "type": "string",
                    "description": "The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`.",
                    "x-example": "http"
                },
                "status": {
                    "type": "string",
                    "description": "The status of the function execution. Possible values can be: `waiting`, `processing`, `completed`, or `failed`.",
                    "x-example": "processing"
                },
                "requestMethod": {
                    "type": "string",
                    "description": "HTTP request method type.",
                    "x-example": "GET"
                },
                "requestPath": {
                    "type": "string",
                    "description": "HTTP request path and query.",
                    "x-example": "\/articles?id=5"
                },
                "requestHeaders": {
                    "type": "array",
                    "description": "HTTP response headers as a key-value object. This will return only whitelisted headers. All headers are returned if execution is created as synchronous.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/headers"
                    },
                    "x-example": [
                        {
                            "Content-Type": "application\/json"
                        }
                    ]
                },
                "responseStatusCode": {
                    "type": "integer",
                    "description": "HTTP response status code.",
                    "x-example": 200,
                    "format": "int32"
                },
                "responseBody": {
                    "type": "string",
                    "description": "HTTP response body. This will return empty unless execution is created as synchronous.",
                    "x-example": ""
                },
                "responseHeaders": {
                    "type": "array",
                    "description": "HTTP response headers as a key-value object. This will return only whitelisted headers. All headers are returned if execution is created as synchronous.",
                    "items": {
                        "type": "object",
                        "$ref": "#\/definitions\/headers"
                    },
                    "x-example": [
                        {
                            "Content-Type": "application\/json"
                        }
                    ]
                },
                "logs": {
                    "type": "string",
                    "description": "Function logs. Includes the last 4,000 characters. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.",
                    "x-example": ""
                },
                "errors": {
                    "type": "string",
                    "description": "Function errors. Includes the last 4,000 characters. This will return an empty string unless the response is returned using an API key or as part of a webhook payload.",
                    "x-example": ""
                },
                "duration": {
                    "type": "number",
                    "description": "Function execution duration in seconds.",
                    "x-example": 0.4,
                    "format": "double"
                },
                "scheduledAt": {
                    "type": "string",
                    "description": "The scheduled time for execution. If left empty, execution will be queued immediately.",
                    "x-example": "2020-10-15T06:38:00.000+00:00",
                    "x-nullable": true
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "$permissions",
                "functionId",
                "trigger",
                "status",
                "requestMethod",
                "requestPath",
                "requestHeaders",
                "responseStatusCode",
                "responseBody",
                "responseHeaders",
                "logs",
                "errors",
                "duration"
            ]
        },
        "build": {
            "description": "Build",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Build ID.",
                    "x-example": "5e5ea5c16897e"
                },
                "deploymentId": {
                    "type": "string",
                    "description": "The deployment that created this build.",
                    "x-example": "5e5ea5c16897e"
                },
                "status": {
                    "type": "string",
                    "description": "The build status. There are a few different types and each one means something different. \\nFailed - The deployment build has failed. More details can usually be found in buildStderr\\nReady - The deployment build was successful and the deployment is ready to be deployed\\nProcessing - The deployment is currently waiting to have a build triggered\\nBuilding - The deployment is currently being built",
                    "x-example": "ready"
                },
                "stdout": {
                    "type": "string",
                    "description": "The stdout of the build.",
                    "x-example": ""
                },
                "stderr": {
                    "type": "string",
                    "description": "The stderr of the build.",
                    "x-example": ""
                },
                "startTime": {
                    "type": "string",
                    "description": "The deployment creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "endTime": {
                    "type": "string",
                    "description": "The time the build was finished in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "duration": {
                    "type": "integer",
                    "description": "The build duration in seconds.",
                    "x-example": 0,
                    "format": "int32"
                },
                "size": {
                    "type": "integer",
                    "description": "The code size in bytes.",
                    "x-example": 128,
                    "format": "int32"
                }
            },
            "required": [
                "$id",
                "deploymentId",
                "status",
                "stdout",
                "stderr",
                "startTime",
                "endTime",
                "duration",
                "size"
            ]
        },
        "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"
                },
                "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",
                "resourceType",
                "resourceId"
            ]
        },
        "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"
            ]
        },
        "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"
            ]
        },
        "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"
            ]
        },
        "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"
            ]
        },
        "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"
            ]
        },
        "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 can are: `disabled`, `offline`, `online`",
                    "x-example": "online"
                }
            },
            "required": [
                "version",
                "status"
            ]
        },
        "healthQueue": {
            "description": "Health Queue",
            "type": "object",
            "properties": {
                "size": {
                    "type": "integer",
                    "description": "Amount of actions in the queue.",
                    "x-example": 8,
                    "format": "int32"
                }
            },
            "required": [
                "size"
            ]
        },
        "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 can are: `pass`, `fail`",
                    "x-example": "pass"
                }
            },
            "required": [
                "name",
                "ping",
                "status"
            ]
        },
        "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"
            ]
        },
        "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"
            ]
        },
        "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"
            ]
        },
        "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"
                },
                "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"
            ]
        },
        "mfaChallenge": {
            "description": "MFA Challenge",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Token ID.",
                    "x-example": "bb8ea5c16897e"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Token creation date in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "userId": {
                    "type": "string",
                    "description": "User ID.",
                    "x-example": "5e5ea5c168bb8"
                },
                "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"
            ]
        },
        "mfaRecoveryCodes": {
            "description": "MFA Recovery Codes",
            "type": "object",
            "properties": {
                "recoveryCodes": {
                    "type": "array",
                    "description": "Recovery codes.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "a3kf0-s0cl2",
                        "s0co1-as98s"
                    ]
                }
            },
            "required": [
                "recoveryCodes"
            ]
        },
        "mfaType": {
            "description": "MFAType",
            "type": "object",
            "properties": {
                "secret": {
                    "type": "string",
                    "description": "Secret token used for TOTP factor.",
                    "x-example": true
                },
                "uri": {
                    "type": "string",
                    "description": "URI for authenticator apps.",
                    "x-example": true
                }
            },
            "required": [
                "secret",
                "uri"
            ]
        },
        "mfaFactors": {
            "description": "MFAFactors",
            "type": "object",
            "properties": {
                "totp": {
                    "type": "boolean",
                    "description": "Can TOTP be used for MFA challenge for this account.",
                    "x-example": true
                },
                "phone": {
                    "type": "boolean",
                    "description": "Can phone (SMS) be used for MFA challenge for this account.",
                    "x-example": true
                },
                "email": {
                    "type": "boolean",
                    "description": "Can email be used for MFA challenge for this account.",
                    "x-example": true
                },
                "recoveryCode": {
                    "type": "boolean",
                    "description": "Can recovery code be used for MFA challenge for this account.",
                    "x-example": true
                }
            },
            "required": [
                "totp",
                "phone",
                "email",
                "recoveryCode"
            ]
        },
        "provider": {
            "description": "Provider",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Provider 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
                },
                "type": {
                    "type": "string",
                    "description": "Type of provider.",
                    "x-example": "sms"
                },
                "credentials": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Provider credentials.",
                    "x-example": {
                        "key": "123456789"
                    }
                },
                "options": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Provider options.",
                    "x-example": {
                        "from": "sender-email@mydomain"
                    }
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "name",
                "provider",
                "enabled",
                "type",
                "credentials"
            ]
        },
        "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"
                },
                "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": {
                    "type": "array",
                    "description": "Target IDs set as recipients.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "5e5ea5c16897e"
                    ]
                },
                "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": "Delivery errors if any.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": [
                        "Failed to send message to target 5e5ea5c16897e: Credentials not valid."
                    ],
                    "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": "Message status can be one of the following: draft, processing, scheduled, sent, or failed."
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "providerType",
                "topics",
                "users",
                "targets",
                "deliveredTotal",
                "data",
                "status"
            ]
        },
        "topic": {
            "description": "Topic",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Topic ID.",
                    "x-example": "259125845563242502"
                },
                "$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 count of email subscribers subscribed to the topic.",
                    "x-example": 100,
                    "format": "int32"
                },
                "smsTotal": {
                    "type": "integer",
                    "description": "Total count of SMS subscribers subscribed to the topic.",
                    "x-example": 100,
                    "format": "int32"
                },
                "pushTotal": {
                    "type": "integer",
                    "description": "Total count of push subscribers subscribed to the topic.",
                    "x-example": 100,
                    "format": "int32"
                },
                "subscribe": {
                    "type": "array",
                    "description": "Subscribe permissions.",
                    "items": {
                        "type": "string"
                    },
                    "x-example": "users"
                }
            },
            "required": [
                "$id",
                "$createdAt",
                "$updatedAt",
                "name",
                "emailTotal",
                "smsTotal",
                "pushTotal",
                "subscribe"
            ]
        },
        "subscriber": {
            "description": "Subscriber",
            "type": "object",
            "properties": {
                "$id": {
                    "type": "string",
                    "description": "Subscriber ID.",
                    "x-example": "259125845563242502"
                },
                "$createdAt": {
                    "type": "string",
                    "description": "Subscriber creation time in ISO 8601 format.",
                    "x-example": "2020-10-15T06:38:00.000+00:00"
                },
                "$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": "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"
                    }
                },
                "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"
            ]
        },
        "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"
            ]
        }
    },
    "externalDocs": {
        "description": "Full API docs, specs and tutorials",
        "url": "https:\/\/appwrite.io\/docs"
    }
}