object document
{
  "type": "object",
  "required": [
    "$id",
    "$collectionId",
    "$databaseId",
    "$createdAt",
    "$updatedAt",
    "$permissions"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Document ID."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Document creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Document update date in ISO 8601 format."
    },
    "$databaseId": {
      "type": "string",
      "x-example": "5e5ea5c15117e",
      "description": "Database ID."
    },
    "$permissions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "read(\"any\")"
      ],
      "description": "Document permissions. [Learn more about permissions](https://appwrite.io/docs/permissions)."
    },
    "$collectionId": {
      "type": "string",
      "x-example": "5e5ea5c15117e",
      "description": "Collection ID."
    }
  },
  "description": "Document",
  "additionalProperties": true
}
object documentList
{
  "type": "object",
  "required": [
    "total",
    "documents"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of documents documents that matched your query."
    },
    "documents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/document"
      },
      "x-example": "",
      "description": "List of documents."
    }
  },
  "description": "Documents List"
}
object error
{
  "type": "object",
  "required": [
    "message",
    "code",
    "type",
    "version"
  ],
  "properties": {
    "code": {
      "type": "string",
      "x-example": "404",
      "description": "Error code."
    },
    "type": {
      "type": "string",
      "x-example": "not_found",
      "description": "Error type. You can learn more about all the error types at https://appwrite.io/docs/error-codes#errorTypes"
    },
    "message": {
      "type": "string",
      "x-example": "Not found",
      "description": "Error message."
    },
    "version": {
      "type": "string",
      "x-example": "1.0",
      "description": "Server version number."
    }
  },
  "description": "Error"
}
object execution
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "$permissions",
    "functionId",
    "trigger",
    "status",
    "requestMethod",
    "requestPath",
    "requestHeaders",
    "responseStatusCode",
    "responseBody",
    "responseHeaders",
    "logs",
    "errors",
    "duration"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Execution ID."
    },
    "logs": {
      "type": "string",
      "x-example": "",
      "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."
    },
    "errors": {
      "type": "string",
      "x-example": "",
      "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."
    },
    "status": {
      "type": "string",
      "x-example": "processing",
      "description": "The status of the function execution. Possible values can be: `waiting`, `processing`, `completed`, or `failed`."
    },
    "trigger": {
      "type": "string",
      "x-example": "http",
      "description": "The trigger that caused the function to execute. Possible values can be: `http`, `schedule`, or `event`."
    },
    "duration": {
      "type": "number",
      "format": "double",
      "x-example": 0.4,
      "description": "Function execution duration in seconds."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Execution creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Execution upate date in ISO 8601 format."
    },
    "functionId": {
      "type": "string",
      "x-example": "5e5ea6g16897e",
      "description": "Function ID."
    },
    "requestPath": {
      "type": "string",
      "x-example": "/articles?id=5",
      "description": "HTTP request path and query."
    },
    "$permissions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "any"
      ],
      "description": "Execution roles."
    },
    "responseBody": {
      "type": "string",
      "x-example": "Developers are awesome.",
      "description": "HTTP response body. This will return empty unless execution is created as synchronous."
    },
    "requestMethod": {
      "type": "string",
      "x-example": "GET",
      "description": "HTTP request method type."
    },
    "requestHeaders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/headers"
      },
      "x-example": [
        {
          "Content-Type": "application/json"
        }
      ],
      "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."
    },
    "responseHeaders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/headers"
      },
      "x-example": [
        {
          "Content-Type": "application/json"
        }
      ],
      "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."
    },
    "responseStatusCode": {
      "type": "integer",
      "format": "int32",
      "x-example": 200,
      "description": "HTTP response status code."
    }
  },
  "description": "Execution"
}
object executionList
{
  "type": "object",
  "required": [
    "total",
    "executions"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of executions documents that matched your query."
    },
    "executions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/execution"
      },
      "x-example": "",
      "description": "List of executions."
    }
  },
  "description": "Executions List"
}
object file
{
  "type": "object",
  "required": [
    "$id",
    "bucketId",
    "$createdAt",
    "$updatedAt",
    "$permissions",
    "name",
    "signature",
    "mimeType",
    "sizeOriginal",
    "chunksTotal",
    "chunksUploaded"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "File ID."
    },
    "name": {
      "type": "string",
      "x-example": "Pink.png",
      "description": "File name."
    },
    "bucketId": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Bucket ID."
    },
    "mimeType": {
      "type": "string",
      "x-example": "image/png",
      "description": "File mime type."
    },
    "signature": {
      "type": "string",
      "x-example": "5d529fd02b544198ae075bd57c1762bb",
      "description": "File MD5 signature."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "File creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "File update date in ISO 8601 format."
    },
    "chunksTotal": {
      "type": "integer",
      "format": "int32",
      "x-example": 17890,
      "description": "Total number of chunks available"
    },
    "$permissions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "read(\"any\")"
      ],
      "description": "File permissions. [Learn more about permissions](https://appwrite.io/docs/permissions)."
    },
    "sizeOriginal": {
      "type": "integer",
      "format": "int32",
      "x-example": 17890,
      "description": "File original size in bytes."
    },
    "chunksUploaded": {
      "type": "integer",
      "format": "int32",
      "x-example": 17890,
      "description": "Total number of chunks uploaded"
    }
  },
  "description": "File"
}
object fileList
{
  "type": "object",
  "required": [
    "total",
    "files"
  ],
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/file"
      },
      "x-example": "",
      "description": "List of files."
    },
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of files documents that matched your query."
    }
  },
  "description": "Files List"
}
object function
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "execute",
    "name",
    "enabled",
    "live",
    "logging",
    "runtime",
    "deployment",
    "vars",
    "events",
    "schedule",
    "timeout",
    "entrypoint",
    "commands",
    "version",
    "installationId",
    "providerRepositoryId",
    "providerBranch",
    "providerRootDirectory",
    "providerSilentMode"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Function ID."
    },
    "live": {
      "type": "boolean",
      "x-example": false,
      "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."
    },
    "name": {
      "type": "string",
      "x-example": "My Function",
      "description": "Function name."
    },
    "vars": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/variable"
      },
      "x-example": [],
      "description": "Function variables."
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": "account.create",
      "description": "Function trigger events."
    },
    "enabled": {
      "type": "boolean",
      "x-example": false,
      "description": "Function enabled."
    },
    "execute": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": "users",
      "description": "Execution permissions."
    },
    "logging": {
      "type": "boolean",
      "x-example": false,
      "description": "Whether executions will be logged. When set to false, executions will not be logged, but will reduce resource used by your Appwrite project."
    },
    "runtime": {
      "type": "string",
      "x-example": "python-3.8",
      "description": "Function execution runtime."
    },
    "timeout": {
      "type": "integer",
      "format": "int32",
      "x-example": 300,
      "description": "Function execution timeout in seconds."
    },
    "version": {
      "type": "string",
      "x-example": "v2",
      "description": "Version of Open Runtimes used for the function."
    },
    "commands": {
      "type": "string",
      "x-example": "npm install",
      "description": "The build command used to build the deployment."
    },
    "schedule": {
      "type": "string",
      "x-example": "5 4 * * *",
      "description": "Function execution schedult in CRON format."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Function creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Function update date in ISO 8601 format."
    },
    "deployment": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Function's active deployment ID."
    },
    "entrypoint": {
      "type": "string",
      "x-example": "index.js",
      "description": "The entrypoint file used to execute the deployment."
    },
    "installationId": {
      "type": "string",
      "x-example": "6m40at4ejk5h2u9s1hboo",
      "description": "Function VCS (Version Control System) installation id."
    },
    "providerBranch": {
      "type": "string",
      "x-example": "main",
      "description": "VCS (Version Control System) branch name"
    },
    "providerSilentMode": {
      "type": "boolean",
      "x-example": false,
      "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"
    },
    "providerRepositoryId": {
      "type": "string",
      "x-example": "appwrite",
      "description": "VCS (Version Control System) Repository ID"
    },
    "providerRootDirectory": {
      "type": "string",
      "x-example": "functions/helloWorld",
      "description": "Path to function in VCS (Version Control System) repository"
    }
  },
  "description": "Function"
}
object functionList
{
  "type": "object",
  "required": [
    "total",
    "functions"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of functions documents that matched your query."
    },
    "functions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/function"
      },
      "x-example": "",
      "description": "List of functions."
    }
  },
  "description": "Functions List"
}
object headers
{
  "type": "object",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "x-example": "Content-Type",
      "description": "Header name."
    },
    "value": {
      "type": "string",
      "x-example": "application/json",
      "description": "Header value."
    }
  },
  "description": "Headers"
}
object healthAntivirus
{
  "type": "object",
  "required": [
    "version",
    "status"
  ],
  "properties": {
    "status": {
      "type": "string",
      "x-example": "online",
      "description": "Antivirus status. Possible values can are: `disabled`, `offline`, `online`"
    },
    "version": {
      "type": "string",
      "x-example": "1.0.0",
      "description": "Antivirus version."
    }
  },
  "description": "Health Antivirus"
}
object healthCertificate
{
  "type": "object",
  "required": [
    "name",
    "subjectSN",
    "issuerOrganisation",
    "validFrom",
    "validTo",
    "signatureTypeSN"
  ],
  "properties": {
    "name": {
      "type": "string",
      "x-example": "/CN=www.google.com",
      "description": "Certificate name"
    },
    "validTo": {
      "type": "string",
      "x-example": "1711458597",
      "description": "Valid to"
    },
    "subjectSN": {
      "type": "string",
      "x-example": "",
      "description": "Subject SN"
    },
    "validFrom": {
      "type": "string",
      "x-example": "1704200998",
      "description": "Valid from"
    },
    "signatureTypeSN": {
      "type": "string",
      "x-example": "RSA-SHA256",
      "description": "Signature type SN"
    },
    "issuerOrganisation": {
      "type": "string",
      "x-example": "",
      "description": "Issuer organisation"
    }
  },
  "description": "Health Certificate"
}
object healthQueue
{
  "type": "object",
  "required": [
    "size"
  ],
  "properties": {
    "size": {
      "type": "integer",
      "format": "int32",
      "x-example": 8,
      "description": "Amount of actions in the queue."
    }
  },
  "description": "Health Queue"
}
object healthStatus
{
  "type": "object",
  "required": [
    "name",
    "ping",
    "status"
  ],
  "properties": {
    "name": {
      "type": "string",
      "x-example": "database",
      "description": "Name of the service."
    },
    "ping": {
      "type": "integer",
      "format": "int32",
      "x-example": 128,
      "description": "Duration in milliseconds how long the health check took."
    },
    "status": {
      "type": "string",
      "x-example": "pass",
      "description": "Service status. Possible values can are: `pass`, `fail`"
    }
  },
  "description": "Health Status"
}
object healthTime
{
  "type": "object",
  "required": [
    "remoteTime",
    "localTime",
    "diff"
  ],
  "properties": {
    "diff": {
      "type": "integer",
      "format": "int32",
      "x-example": 93,
      "description": "Difference of unix remote and local timestamps in milliseconds."
    },
    "localTime": {
      "type": "integer",
      "format": "int32",
      "x-example": 1639490844,
      "description": "Current unix timestamp of local server where Appwrite runs."
    },
    "remoteTime": {
      "type": "integer",
      "format": "int32",
      "x-example": 1639490751,
      "description": "Current unix timestamp on trustful remote server."
    }
  },
  "description": "Health Time"
}
object identity
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "userId",
    "provider",
    "providerUid",
    "providerEmail",
    "providerAccessToken",
    "providerAccessTokenExpiry",
    "providerRefreshToken"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Identity ID."
    },
    "userId": {
      "type": "string",
      "x-example": "5e5bb8c16897e",
      "description": "User ID."
    },
    "provider": {
      "type": "string",
      "x-example": "email",
      "description": "Identity Provider."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Identity creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Identity update date in ISO 8601 format."
    },
    "providerUid": {
      "type": "string",
      "x-example": "5e5bb8c16897e",
      "description": "ID of the User in the Identity Provider."
    },
    "providerEmail": {
      "type": "string",
      "x-example": "user@example.com",
      "description": "Email of the User in the Identity Provider."
    },
    "providerAccessToken": {
      "type": "string",
      "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3",
      "description": "Identity Provider Access Token."
    },
    "providerRefreshToken": {
      "type": "string",
      "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3",
      "description": "Identity Provider Refresh Token."
    },
    "providerAccessTokenExpiry": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "The date of when the access token expires in ISO 8601 format."
    }
  },
  "description": "Identity"
}
object identityList
{
  "type": "object",
  "required": [
    "total",
    "identities"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of identities documents that matched your query."
    },
    "identities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/identity"
      },
      "x-example": "",
      "description": "List of identities."
    }
  },
  "description": "Identities List"
}
object index
{
  "type": "object",
  "required": [
    "key",
    "type",
    "status",
    "error",
    "attributes"
  ],
  "properties": {
    "key": {
      "type": "string",
      "x-example": "index1",
      "description": "Index Key."
    },
    "type": {
      "type": "string",
      "x-example": "primary",
      "description": "Index type."
    },
    "error": {
      "type": "string",
      "x-example": "string",
      "description": "Error message. Displays error generated on failure of creating or deleting an index."
    },
    "orders": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "nullable": true,
      "x-example": [],
      "description": "Index orders."
    },
    "status": {
      "type": "string",
      "x-example": "available",
      "description": "Index status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [],
      "description": "Index attributes."
    }
  },
  "description": "Index"
}
object indexList
{
  "type": "object",
  "required": [
    "total",
    "indexes"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of indexes documents that matched your query."
    },
    "indexes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/index"
      },
      "x-example": "",
      "description": "List of indexes."
    }
  },
  "description": "Indexes List"
}
object jwt
{
  "type": "object",
  "required": [
    "jwt"
  ],
  "properties": {
    "jwt": {
      "type": "string",
      "x-example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
      "description": "JWT encoded string."
    }
  },
  "description": "JWT"
}
object language
{
  "type": "object",
  "required": [
    "name",
    "code",
    "nativeName"
  ],
  "properties": {
    "code": {
      "type": "string",
      "x-example": "it",
      "description": "Language two-character ISO 639-1 codes."
    },
    "name": {
      "type": "string",
      "x-example": "Italian",
      "description": "Language name."
    },
    "nativeName": {
      "type": "string",
      "x-example": "Italiano",
      "description": "Language native name."
    }
  },
  "description": "Language"
}
object languageList
{
  "type": "object",
  "required": [
    "total",
    "languages"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of languages documents that matched your query."
    },
    "languages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/language"
      },
      "x-example": "",
      "description": "List of languages."
    }
  },
  "description": "Languages List"
}
object locale
{
  "type": "object",
  "required": [
    "ip",
    "countryCode",
    "country",
    "continentCode",
    "continent",
    "eu",
    "currency"
  ],
  "properties": {
    "eu": {
      "type": "boolean",
      "x-example": false,
      "description": "True if country is part of the European Union."
    },
    "ip": {
      "type": "string",
      "x-example": "127.0.0.1",
      "description": "User IP address."
    },
    "country": {
      "type": "string",
      "x-example": "United States",
      "description": "Country name. This field support localization."
    },
    "currency": {
      "type": "string",
      "x-example": "USD",
      "description": "Currency code in [ISO 4217-1](http://en.wikipedia.org/wiki/ISO_4217) three-character format"
    },
    "continent": {
      "type": "string",
      "x-example": "North America",
      "description": "Continent name. This field support localization."
    },
    "countryCode": {
      "type": "string",
      "x-example": "US",
      "description": "Country code in [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1) two-character format"
    },
    "continentCode": {
      "type": "string",
      "x-example": "NA",
      "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."
    }
  },
  "description": "Locale"
}
object localeCode
{
  "type": "object",
  "required": [
    "code",
    "name"
  ],
  "properties": {
    "code": {
      "type": "string",
      "x-example": "en-us",
      "description": "Locale codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)"
    },
    "name": {
      "type": "string",
      "x-example": "US",
      "description": "Locale name"
    }
  },
  "description": "LocaleCode"
}
object localeCodeList
{
  "type": "object",
  "required": [
    "total",
    "localeCodes"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of localeCodes documents that matched your query."
    },
    "localeCodes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/localeCode"
      },
      "x-example": "",
      "description": "List of localeCodes."
    }
  },
  "description": "Locale codes list"
}
object log
{
  "type": "object",
  "required": [
    "event",
    "userId",
    "userEmail",
    "userName",
    "mode",
    "ip",
    "time",
    "osCode",
    "osName",
    "osVersion",
    "clientType",
    "clientCode",
    "clientName",
    "clientVersion",
    "clientEngine",
    "clientEngineVersion",
    "deviceName",
    "deviceBrand",
    "deviceModel",
    "countryCode",
    "countryName"
  ],
  "properties": {
    "ip": {
      "type": "string",
      "x-example": "127.0.0.1",
      "description": "IP session in use when the session was created."
    },
    "mode": {
      "type": "string",
      "x-example": "admin",
      "description": "API mode when event triggered."
    },
    "time": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Log creation date in ISO 8601 format."
    },
    "event": {
      "type": "string",
      "x-example": "account.sessions.create",
      "description": "Event name."
    },
    "osCode": {
      "type": "string",
      "x-example": "Mac",
      "description": "Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json)."
    },
    "osName": {
      "type": "string",
      "x-example": "Mac",
      "description": "Operating system name."
    },
    "userId": {
      "type": "string",
      "x-example": "610fc2f985ee0",
      "description": "User ID."
    },
    "userName": {
      "type": "string",
      "x-example": "John Doe",
      "description": "User Name."
    },
    "osVersion": {
      "type": "string",
      "x-example": "Mac",
      "description": "Operating system version."
    },
    "userEmail": {
      "type": "string",
      "x-example": "john@appwrite.io",
      "description": "User Email."
    },
    "clientCode": {
      "type": "string",
      "x-example": "CM",
      "description": "Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json)."
    },
    "clientName": {
      "type": "string",
      "x-example": "Chrome Mobile iOS",
      "description": "Client name."
    },
    "clientType": {
      "type": "string",
      "x-example": "browser",
      "description": "Client type."
    },
    "deviceName": {
      "type": "string",
      "x-example": "smartphone",
      "description": "Device name."
    },
    "countryCode": {
      "type": "string",
      "x-example": "US",
      "description": "Country two-character ISO 3166-1 alpha code."
    },
    "countryName": {
      "type": "string",
      "x-example": "United States",
      "description": "Country name."
    },
    "deviceBrand": {
      "type": "string",
      "x-example": "Google",
      "description": "Device brand name."
    },
    "deviceModel": {
      "type": "string",
      "x-example": "Nexus 5",
      "description": "Device model name."
    },
    "clientEngine": {
      "type": "string",
      "x-example": "WebKit",
      "description": "Client engine name."
    },
    "clientVersion": {
      "type": "string",
      "x-example": "84.0",
      "description": "Client version."
    },
    "clientEngineVersion": {
      "type": "string",
      "x-example": "605.1.15",
      "description": "Client engine name."
    }
  },
  "description": "Log"
}
object logList
{
  "type": "object",
  "required": [
    "total",
    "logs"
  ],
  "properties": {
    "logs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/log"
      },
      "x-example": "",
      "description": "List of logs."
    },
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of logs documents that matched your query."
    }
  },
  "description": "Logs List"
}
object membership
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "userId",
    "userName",
    "userEmail",
    "teamId",
    "teamName",
    "invited",
    "joined",
    "confirm",
    "mfa",
    "roles"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Membership ID."
    },
    "mfa": {
      "type": "boolean",
      "x-example": false,
      "description": "Multi factor authentication status, true if the user has MFA enabled or false otherwise."
    },
    "roles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "owner"
      ],
      "description": "User list of roles"
    },
    "joined": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Date, the user has accepted the invitation to join the team in ISO 8601 format."
    },
    "teamId": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Team ID."
    },
    "userId": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "User ID."
    },
    "confirm": {
      "type": "boolean",
      "x-example": false,
      "description": "User confirmation status, true if the user has joined the team or false otherwise."
    },
    "invited": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Date, the user has been invited to join the team in ISO 8601 format."
    },
    "teamName": {
      "type": "string",
      "x-example": "VIP",
      "description": "Team name."
    },
    "userName": {
      "type": "string",
      "x-example": "John Doe",
      "description": "User name."
    },
    "userEmail": {
      "type": "string",
      "x-example": "john@appwrite.io",
      "description": "User email address."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Membership creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Membership update date in ISO 8601 format."
    }
  },
  "description": "Membership"
}
object membershipList
{
  "type": "object",
  "required": [
    "total",
    "memberships"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of memberships documents that matched your query."
    },
    "memberships": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/membership"
      },
      "x-example": "",
      "description": "List of memberships."
    }
  },
  "description": "Memberships List"
}
object message
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "providerType",
    "topics",
    "users",
    "targets",
    "deliveredTotal",
    "data",
    "status"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Message ID."
    },
    "data": {
      "type": "object",
      "x-example": {
        "content": "Hi there, welcome to Appwrite family.",
        "subject": "Welcome to Appwrite"
      },
      "description": "Data of the message."
    },
    "users": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "5e5ea5c16897e"
      ],
      "description": "User IDs set as recipients."
    },
    "status": {
      "type": "string",
      "x-example": "Message status can be one of the following: draft, processing, scheduled, sent, or failed.",
      "description": "Status of delivery."
    },
    "topics": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "5e5ea5c16897e"
      ],
      "description": "Topic IDs set as recipients."
    },
    "targets": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "5e5ea5c16897e"
      ],
      "description": "Target IDs set as recipients."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Message creation time in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Message update date in ISO 8601 format."
    },
    "deliveredAt": {
      "type": "string",
      "nullable": true,
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "The time when the message was delivered."
    },
    "scheduledAt": {
      "type": "string",
      "nullable": true,
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "The scheduled time for message."
    },
    "providerType": {
      "type": "string",
      "x-example": "email",
      "description": "Message provider type."
    },
    "deliveredTotal": {
      "type": "integer",
      "format": "int32",
      "x-example": 1,
      "description": "Number of recipients the message was delivered to."
    },
    "deliveryErrors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "nullable": true,
      "x-example": [
        "Failed to send message to target 5e5ea5c16897e: Credentials not valid."
      ],
      "description": "Delivery errors if any."
    }
  },
  "description": "Message"
}
object messageList
{
  "type": "object",
  "required": [
    "total",
    "messages"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of messages documents that matched your query."
    },
    "messages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/message"
      },
      "x-example": "",
      "description": "List of messages."
    }
  },
  "description": "Message list"
}
object mfaChallenge
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "userId",
    "expire"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "bb8ea5c16897e",
      "description": "Token ID."
    },
    "expire": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Token expiration date in ISO 8601 format."
    },
    "userId": {
      "type": "string",
      "x-example": "5e5ea5c168bb8",
      "description": "User ID."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Token creation date in ISO 8601 format."
    }
  },
  "description": "MFA Challenge"
}
object mfaFactors
{
  "type": "object",
  "required": [
    "totp",
    "phone",
    "email"
  ],
  "properties": {
    "totp": {
      "type": "boolean",
      "x-example": true,
      "description": "TOTP"
    },
    "email": {
      "type": "boolean",
      "x-example": true,
      "description": "Email"
    },
    "phone": {
      "type": "boolean",
      "x-example": true,
      "description": "Phone"
    }
  },
  "description": "MFAFactors"
}
object mfaRecoveryCodes
{
  "type": "object",
  "required": [
    "recoveryCodes"
  ],
  "properties": {
    "recoveryCodes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "a3kf0-s0cl2",
        "s0co1-as98s"
      ],
      "description": "Recovery codes."
    }
  },
  "description": "MFA Recovery Codes"
}
object mfaType
{
  "type": "object",
  "required": [
    "secret",
    "uri"
  ],
  "properties": {
    "uri": {
      "type": "string",
      "x-example": true,
      "description": "URI for authenticator apps."
    },
    "secret": {
      "type": "string",
      "x-example": true,
      "description": "Secret token used for TOTP factor."
    }
  },
  "description": "MFAType"
}
object phone
{
  "type": "object",
  "required": [
    "code",
    "countryCode",
    "countryName"
  ],
  "properties": {
    "code": {
      "type": "string",
      "x-example": "+1",
      "description": "Phone code."
    },
    "countryCode": {
      "type": "string",
      "x-example": "US",
      "description": "Country two-character ISO 3166-1 alpha code."
    },
    "countryName": {
      "type": "string",
      "x-example": "United States",
      "description": "Country name."
    }
  },
  "description": "Phone"
}
object phoneList
{
  "type": "object",
  "required": [
    "total",
    "phones"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of phones documents that matched your query."
    },
    "phones": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/phone"
      },
      "x-example": "",
      "description": "List of phones."
    }
  },
  "description": "Phones List"
}
object preferences
{
  "type": "object",
  "description": "Preferences",
  "additionalProperties": true
}
object provider
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "name",
    "provider",
    "enabled",
    "type",
    "credentials"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Provider ID."
    },
    "name": {
      "type": "string",
      "x-example": "Mailgun",
      "description": "The name for the provider instance."
    },
    "type": {
      "type": "string",
      "x-example": "sms",
      "description": "Type of provider."
    },
    "enabled": {
      "type": "boolean",
      "x-example": true,
      "description": "Is provider enabled?"
    },
    "options": {
      "type": "object",
      "nullable": true,
      "x-example": {
        "from": "sender-email@mydomain"
      },
      "description": "Provider options."
    },
    "provider": {
      "type": "string",
      "x-example": "mailgun",
      "description": "The name of the provider service."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Provider creation time in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Provider update date in ISO 8601 format."
    },
    "credentials": {
      "type": "object",
      "x-example": {
        "key": "123456789"
      },
      "description": "Provider credentials."
    }
  },
  "description": "Provider"
}
object providerList
{
  "type": "object",
  "required": [
    "total",
    "providers"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of providers documents that matched your query."
    },
    "providers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/provider"
      },
      "x-example": "",
      "description": "List of providers."
    }
  },
  "description": "Provider list"
}
object runtime
{
  "type": "object",
  "required": [
    "$id",
    "name",
    "version",
    "base",
    "image",
    "logo",
    "supports"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "python-3.8",
      "description": "Runtime ID."
    },
    "base": {
      "type": "string",
      "x-example": "python:3.8-alpine",
      "description": "Base Docker image used to build the runtime."
    },
    "logo": {
      "type": "string",
      "x-example": "python.png",
      "description": "Name of the logo image."
    },
    "name": {
      "type": "string",
      "x-example": "Python",
      "description": "Runtime Name."
    },
    "image": {
      "type": "string",
      "x-example": "appwrite\\/runtime-for-python:3.8",
      "description": "Image name of Docker Hub."
    },
    "version": {
      "type": "string",
      "x-example": "3.8",
      "description": "Runtime version."
    },
    "supports": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": "amd64",
      "description": "List of supported architectures."
    }
  },
  "description": "Runtime"
}
object runtimeList
{
  "type": "object",
  "required": [
    "total",
    "runtimes"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of runtimes documents that matched your query."
    },
    "runtimes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/runtime"
      },
      "x-example": "",
      "description": "List of runtimes."
    }
  },
  "description": "Runtimes List"
}
object session
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "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"
  ],
  "properties": {
    "ip": {
      "type": "string",
      "x-example": "127.0.0.1",
      "description": "IP in use when the session was created."
    },
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Session ID."
    },
    "expire": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Session expiration date in ISO 8601 format."
    },
    "osCode": {
      "type": "string",
      "x-example": "Mac",
      "description": "Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json)."
    },
    "osName": {
      "type": "string",
      "x-example": "Mac",
      "description": "Operating system name."
    },
    "secret": {
      "type": "string",
      "x-example": "5e5bb8c16897e",
      "description": "Secret used to authenticate the user. Only included if the request was made with an API key"
    },
    "userId": {
      "type": "string",
      "x-example": "5e5bb8c16897e",
      "description": "User ID."
    },
    "current": {
      "type": "boolean",
      "x-example": true,
      "description": "Returns true if this the current user session."
    },
    "factors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-example": [
        "email"
      ],
      "description": "Returns a list of active session factors."
    },
    "provider": {
      "type": "string",
      "x-example": "email",
      "description": "Session Provider."
    },
    "osVersion": {
      "type": "string",
      "x-example": "Mac",
      "description": "Operating system version."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Session creation date in ISO 8601 format."
    },
    "clientCode": {
      "type": "string",
      "x-example": "CM",
      "description": "Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json)."
    },
    "clientName": {
      "type": "string",
      "x-example": "Chrome Mobile iOS",
      "description": "Client name."
    },
    "clientType": {
      "type": "string",
      "x-example": "browser",
      "description": "Client type."
    },
    "deviceName": {
      "type": "string",
      "x-example": "smartphone",
      "description": "Device name."
    },
    "countryCode": {
      "type": "string",
      "x-example": "US",
      "description": "Country two-character ISO 3166-1 alpha code."
    },
    "countryName": {
      "type": "string",
      "x-example": "United States",
      "description": "Country name."
    },
    "deviceBrand": {
      "type": "string",
      "x-example": "Google",
      "description": "Device brand name."
    },
    "deviceModel": {
      "type": "string",
      "x-example": "Nexus 5",
      "description": "Device model name."
    },
    "providerUid": {
      "type": "string",
      "x-example": "user@example.com",
      "description": "Session Provider User ID."
    },
    "clientEngine": {
      "type": "string",
      "x-example": "WebKit",
      "description": "Client engine name."
    },
    "mfaUpdatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Most recent date in ISO 8601 format when the session successfully passed MFA challenge."
    },
    "clientVersion": {
      "type": "string",
      "x-example": "84.0",
      "description": "Client version."
    },
    "clientEngineVersion": {
      "type": "string",
      "x-example": "605.1.15",
      "description": "Client engine name."
    },
    "providerAccessToken": {
      "type": "string",
      "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3",
      "description": "Session Provider Access Token."
    },
    "providerRefreshToken": {
      "type": "string",
      "x-example": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3",
      "description": "Session Provider Refresh Token."
    },
    "providerAccessTokenExpiry": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "The date of when the access token expires in ISO 8601 format."
    }
  },
  "description": "Session"
}
object sessionList
{
  "type": "object",
  "required": [
    "total",
    "sessions"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of sessions documents that matched your query."
    },
    "sessions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/session"
      },
      "x-example": "",
      "description": "List of sessions."
    }
  },
  "description": "Sessions List"
}
object subscriber
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "targetId",
    "target",
    "userId",
    "userName",
    "topicId",
    "providerType"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "259125845563242502",
      "description": "Subscriber ID."
    },
    "target": {
      "type": "object",
      "items": {
        "$ref": "#/components/schemas/target"
      },
      "x-example": {
        "$id": "259125845563242502",
        "name": "ageon-app-email",
        "userId": "5e5ea5c16897e",
        "$createdAt": "2020-10-15T06:38:00.000+00:00",
        "$updatedAt": "2020-10-15T06:38:00.000+00:00",
        "identifier": "random-mail@email.org",
        "providerId": "259125845563242502",
        "providerType": "email"
      },
      "description": "Target."
    },
    "userId": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Topic ID."
    },
    "topicId": {
      "type": "string",
      "x-example": "259125845563242502",
      "description": "Topic ID."
    },
    "targetId": {
      "type": "string",
      "x-example": "259125845563242502",
      "description": "Target ID."
    },
    "userName": {
      "type": "string",
      "x-example": "Aegon Targaryen",
      "description": "User Name."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Subscriber creation time in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Subscriber update date in ISO 8601 format."
    },
    "providerType": {
      "type": "string",
      "x-example": "email",
      "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`."
    }
  },
  "description": "Subscriber"
}
object subscriberList
{
  "type": "object",
  "required": [
    "total",
    "subscribers"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of subscribers documents that matched your query."
    },
    "subscribers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/subscriber"
      },
      "x-example": "",
      "description": "List of subscribers."
    }
  },
  "description": "Subscriber list"
}
object target
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "name",
    "userId",
    "providerType",
    "identifier"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "259125845563242502",
      "description": "Target ID."
    },
    "name": {
      "type": "string",
      "x-example": "Aegon apple token",
      "description": "Target Name."
    },
    "userId": {
      "type": "string",
      "x-example": "259125845563242502",
      "description": "User ID."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Target creation time in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Target update date in ISO 8601 format."
    },
    "identifier": {
      "type": "string",
      "x-example": "token",
      "description": "The target identifier."
    },
    "providerId": {
      "type": "string",
      "nullable": true,
      "x-example": "259125845563242502",
      "description": "Provider ID."
    },
    "providerType": {
      "type": "string",
      "x-example": "email",
      "description": "The target provider type. Can be one of the following: `email`, `sms` or `push`."
    }
  },
  "description": "Target"
}
object targetList
{
  "type": "object",
  "required": [
    "total",
    "targets"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of targets documents that matched your query."
    },
    "targets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/target"
      },
      "x-example": "",
      "description": "List of targets."
    }
  },
  "description": "Target list"
}
object team
{
  "type": "object",
  "required": [
    "$id",
    "$createdAt",
    "$updatedAt",
    "name",
    "total",
    "prefs"
  ],
  "properties": {
    "$id": {
      "type": "string",
      "x-example": "5e5ea5c16897e",
      "description": "Team ID."
    },
    "name": {
      "type": "string",
      "x-example": "VIP",
      "description": "Team name."
    },
    "prefs": {
      "type": "object",
      "items": {
        "$ref": "#/components/schemas/preferences"
      },
      "x-example": {
        "theme": "pink",
        "timezone": "UTC"
      },
      "description": "Team preferences as a key-value object"
    },
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 7,
      "description": "Total number of team members."
    },
    "$createdAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Team creation date in ISO 8601 format."
    },
    "$updatedAt": {
      "type": "string",
      "x-example": "2020-10-15T06:38:00.000+00:00",
      "description": "Team update date in ISO 8601 format."
    }
  },
  "description": "Team"
}
object teamList
{
  "type": "object",
  "required": [
    "total",
    "teams"
  ],
  "properties": {
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/team"
      },
      "x-example": "",
      "description": "List of teams."
    },
    "total": {
      "type": "integer",
      "format": "int32",
      "x-example": 5,
      "description": "Total number of teams documents that matched your query."
    }
  },
  "description": "Teams List"
}
Load more schemas