Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://cloud.appwrite.io/v1
/account/identities/{identityId}
Delete an identity by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| identityId | path | required | string | Identity ID. |
DELETE /account/identities/{identityId}
/account/mfa/authenticators/{type}
Delete an authenticator for a user by ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| type | path | required | string | Type of authenticator. |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountDeleteAuthenticatorByIdRequest"
}
}
}
}
DELETE /account/mfa/authenticators/{type}
/account/sessions
Delete all sessions from the user account and remove any sessions cookies from the end client.
DELETE /account/sessions
/account/sessions/{sessionId}
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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| sessionId | path | required | string | Session ID. Use the string 'current' to delete the current device session. |
DELETE /account/sessions/{sessionId}
/databases/{databaseId}
Delete a database by its unique ID. Only API keys with with databases.write scope can delete a database.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| databaseId | path | required | string | Database ID. |
DELETE /databases/{databaseId}
/databases/{databaseId}/collections/{collectionId}
Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| databaseId | path | required | string | Database ID. |
| collectionId | path | required | string | Collection ID. |
DELETE /databases/{databaseId}/collections/{collectionId}
/databases/{databaseId}/collections/{collectionId}/attributes/{key}
Deletes an attribute.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| databaseId | path | required | string | Database ID. |
| collectionId | path | required | string | Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection). |
| key | path | required | string | Attribute Key. |
DELETE /databases/{databaseId}/collections/{collectionId}/attributes/{key}
/databases/{databaseId}/collections/{collectionId}/documents/{documentId}
Delete a document by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| databaseId | path | required | string | Database ID. |
| collectionId | path | required | string | Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection). |
| documentId | path | required | string | Document ID. |
DELETE /databases/{databaseId}/collections/{collectionId}/documents/{documentId}
/databases/{databaseId}/collections/{collectionId}/indexes/{key}
Delete an index.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| databaseId | path | required | string | Database ID. |
| collectionId | path | required | string | Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection). |
| key | path | required | string | Index Key. |
DELETE /databases/{databaseId}/collections/{collectionId}/indexes/{key}
/functions/{functionId}
Delete a function by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| functionId | path | required | string | Function ID. |
DELETE /functions/{functionId}
/functions/{functionId}/deployments/{deploymentId}
Delete a code deployment by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| functionId | path | required | string | Function ID. |
| deploymentId | path | required | string | Deployment ID. |
DELETE /functions/{functionId}/deployments/{deploymentId}
/functions/{functionId}/variables/{variableId}
Delete a variable by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| functionId | path | required | string | Function unique ID. |
| variableId | path | required | string | Variable unique ID. |
DELETE /functions/{functionId}/variables/{variableId}
/messaging/messages/{messageId}
Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| messageId | path | required | string | Message ID. |
DELETE /messaging/messages/{messageId}
/messaging/providers/{providerId}
Delete a provider by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| providerId | path | required | string | Provider ID. |
DELETE /messaging/providers/{providerId}
/messaging/topics/{topicId}
Delete a topic by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| topicId | path | required | string | Topic ID. |
DELETE /messaging/topics/{topicId}
/messaging/topics/{topicId}/subscribers/{subscriberId}
Delete a subscriber by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| topicId | path | required | string | Topic ID. The topic ID subscribed to. |
| subscriberId | path | required | string | Subscriber ID. |
DELETE /messaging/topics/{topicId}/subscribers/{subscriberId}
/storage/buckets/{bucketId}
Delete a storage bucket by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| bucketId | path | required | string | Bucket unique ID. |
DELETE /storage/buckets/{bucketId}
/storage/buckets/{bucketId}/files/{fileId}
Delete a file by its unique ID. Only users with write permissions have access to delete this resource.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| bucketId | path | required | string | Storage bucket unique ID. You can create a new storage bucket using the Storage service [server integration](https://appwrite.io/docs/server/storage#createBucket). |
| fileId | path | required | string | File ID. |
DELETE /storage/buckets/{bucketId}/files/{fileId}
/teams/{teamId}
Delete a team using its ID. Only team members with the owner role can delete the team.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| teamId | path | required | string | Team ID. |
DELETE /teams/{teamId}
/teams/{teamId}/memberships/{membershipId}
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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| teamId | path | required | string | Team ID. |
| membershipId | path | required | string | Membership ID. |
DELETE /teams/{teamId}/memberships/{membershipId}
/users/identities/{identityId}
Delete an identity by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| identityId | path | required | string | Identity ID. |
DELETE /users/identities/{identityId}
/users/{userId}
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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| userId | path | required | string | User ID. |
DELETE /users/{userId}
/users/{userId}/mfa/authenticators/{type}
Delete an authenticator app.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| userId | path | required | string | User ID. |
| type | path | required | string | Type of authenticator. |
DELETE /users/{userId}/mfa/authenticators/{type}
/users/{userId}/sessions
Delete all user's sessions by using the user's unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| userId | path | required | string | User ID. |
DELETE /users/{userId}/sessions
/users/{userId}/sessions/{sessionId}
Delete a user sessions by its unique ID.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| userId | path | required | string | User ID. |
| sessionId | path | required | string | Session ID. |
DELETE /users/{userId}/sessions/{sessionId}
/users/{userId}/targets/{targetId}
Delete a messaging target.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| userId | path | required | string | User ID. |
| targetId | path | required | string | Target ID. |
DELETE /users/{userId}/targets/{targetId}
AccountBeginMfaVerificationRequest
{
"type": "object",
"required": [
"factor"
],
"properties": {
"factor": {
"enum": [
"email",
"phone",
"totp",
"recoverycode"
],
"type": "string",
"x-example": "email",
"description": "Factor used for verification. Must be one of following: `email`, `phone`, `totp`, `recoveryCode`.",
"x-enum-keys": [],
"x-enum-name": "AuthenticationFactor"
}
}
}
AccountCompleteEmailVerificationRequest
{
"type": "object",
"required": [
"userId",
"secret"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Valid verification token."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID."
}
}
}
AccountCompleteMfaChallengeRequest
{
"type": "object",
"required": [
"challengeId",
"otp"
],
"properties": {
"otp": {
"type": "string",
"x-example": "<OTP>",
"description": "Valid verification token."
},
"challengeId": {
"type": "string",
"x-example": "<CHALLENGE_ID>",
"description": "ID of the challenge."
}
}
}
AccountCompletePasswordRecoveryRequest
{
"type": "object",
"required": [
"userId",
"secret",
"password"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Valid reset token."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID."
},
"password": {
"type": "string",
"x-example": null,
"description": "New user password. Must be between 8 and 256 chars."
}
}
}
AccountConfirmPhoneVerificationRequest
{
"type": "object",
"required": [
"userId",
"secret"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Valid verification token."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID."
}
}
}
AccountCreateEmailPasswordSessionRequest
{
"type": "object",
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password. Must be at least 8 chars."
}
}
}
AccountCreateEmailTokenRequest
{
"type": "object",
"required": [
"userId",
"email"
],
"properties": {
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"phrase": {
"type": "boolean",
"x-example": false,
"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."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
AccountCreateEmailVerificationRequest
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"x-example": "https://example.com",
"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."
}
}
}
AccountCreateMagicUrlTokenRequest
{
"type": "object",
"required": [
"userId",
"email"
],
"properties": {
"url": {
"type": "string",
"x-example": "https://example.com",
"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."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"phrase": {
"type": "boolean",
"x-example": false,
"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."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
AccountCreateNewUserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": null,
"description": "New user password. Must be between 8 and 256 chars."
}
}
}
AccountCreatePasswordRecoveryRequest
{
"type": "object",
"required": [
"email",
"url"
],
"properties": {
"url": {
"type": "string",
"x-example": "https://example.com",
"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."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
}
}
}
AccountCreatePhoneTokenRequest
{
"type": "object",
"required": [
"userId",
"phone"
],
"properties": {
"phone": {
"type": "string",
"x-example": "+12065550100",
"description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
AccountCreateTokenSessionRequest
{
"type": "object",
"required": [
"userId",
"secret"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Secret of a token generated by login methods. For example, the `createMagicURLToken` or `createPhoneToken` methods."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
AccountDeleteAuthenticatorByIdRequest
{
"type": "object",
"required": [
"otp"
],
"properties": {
"otp": {
"type": "string",
"x-example": "<OTP>",
"description": "Valid verification token."
}
}
}
AccountUpdateEmailAddressRequest
{
"type": "object",
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password. Must be at least 8 chars."
}
}
}
AccountUpdateMagicUrlSessionRequest
{
"type": "object",
"required": [
"userId",
"secret"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Valid verification token."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
AccountUpdateMfaStatusRequest
{
"type": "object",
"required": [
"mfa"
],
"properties": {
"mfa": {
"type": "boolean",
"x-example": false,
"description": "Enable or disable MFA."
}
}
}
AccountUpdateNameOperationRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
}
}
}
AccountUpdatePasswordOperationRequest
{
"type": "object",
"required": [
"password"
],
"properties": {
"password": {
"type": "string",
"x-example": null,
"description": "New user password. Must be at least 8 chars."
},
"oldPassword": {
"type": "string",
"x-example": "password",
"description": "Current user password. Must be at least 8 chars."
}
}
}
AccountUpdatePhoneRequest
{
"type": "object",
"required": [
"phone",
"password"
],
"properties": {
"phone": {
"type": "string",
"x-example": "+12065550100",
"description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password. Must be at least 8 chars."
}
}
}
AccountUpdatePhoneSessionRequest
{
"type": "object",
"required": [
"userId",
"secret"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Valid verification token."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
AccountUpdatePreferencesRequest
{
"type": "object",
"required": [
"prefs"
],
"properties": {
"prefs": {
"type": "object",
"x-example": "{}",
"description": "Prefs key-value JSON object."
}
}
}
AccountVerifyAuthenticatorRequest
{
"type": "object",
"required": [
"otp"
],
"properties": {
"otp": {
"type": "string",
"x-example": "<OTP>",
"description": "Valid verification token."
}
}
}
DatabasesCreateBooleanAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "boolean",
"x-example": false,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateCollectionRequest
{
"type": "object",
"required": [
"collectionId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Collection name. Max length: 128 chars."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"description": "An array of permissions strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"collectionId": {
"type": "string",
"x-example": "<COLLECTION_ID>",
"description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"documentSecurity": {
"type": "boolean",
"x-example": false,
"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)."
}
}
}
DatabasesCreateDatabaseRequest
{
"type": "object",
"required": [
"databaseId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Database name. Max length: 128 chars."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Is the database enabled? When set to 'disabled', users cannot access the database but Server SDKs with an API key can still read and write to the database. No data is lost when this is toggled."
},
"databaseId": {
"type": "string",
"x-example": "<DATABASE_ID>",
"description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
DatabasesCreateDatetimeAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "string",
"x-example": null,
"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."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateDocumentRequest
{
"type": "object",
"required": [
"documentId",
"data"
],
"properties": {
"data": {
"type": "object",
"x-example": "{}",
"description": "Document data as JSON object."
},
"documentId": {
"type": "string",
"x-example": "<DOCUMENT_ID>",
"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."
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"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)."
}
}
}
DatabasesCreateEmailAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "string",
"x-example": "email@example.com",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateEnumAttributeRequest
{
"type": "object",
"required": [
"key",
"elements",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "string",
"x-example": "<DEFAULT>",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"elements": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"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."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateFloatAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"max": {
"type": "number",
"x-example": null,
"description": "Maximum value to enforce on new documents"
},
"min": {
"type": "number",
"x-example": null,
"description": "Minimum value to enforce on new documents"
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "number",
"x-example": null,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateIndexRequest
{
"type": "object",
"required": [
"key",
"type",
"attributes"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Index Key."
},
"type": {
"enum": [
"key",
"fulltext",
"unique"
],
"type": "string",
"x-example": "key",
"description": "Index type.",
"x-enum-keys": [],
"x-enum-name": "IndexType"
},
"orders": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of index orders. Maximum of 100 orders are allowed."
},
"attributes": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long."
}
}
}
DatabasesCreateIntegerAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"max": {
"type": "integer",
"x-example": null,
"description": "Maximum value to enforce on new documents"
},
"min": {
"type": "integer",
"x-example": null,
"description": "Minimum value to enforce on new documents"
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "integer",
"x-example": null,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateIpAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "string",
"x-example": null,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateRelationshipAttributeRequest
{
"type": "object",
"required": [
"relatedCollectionId",
"type"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"type": {
"enum": [
"oneToOne",
"manyToOne",
"manyToMany",
"oneToMany"
],
"type": "string",
"x-example": "oneToOne",
"description": "Relation type",
"x-enum-keys": [],
"x-enum-name": "RelationshipType"
},
"twoWay": {
"type": "boolean",
"x-example": false,
"description": "Is Two Way?"
},
"onDelete": {
"enum": [
"cascade",
"restrict",
"setNull"
],
"type": "string",
"x-example": "cascade",
"description": "Constraints option",
"x-enum-keys": [],
"x-enum-name": "RelationMutate"
},
"twoWayKey": {
"type": "string",
"x-example": null,
"description": "Two Way Attribute Key."
},
"relatedCollectionId": {
"type": "string",
"x-example": "<RELATED_COLLECTION_ID>",
"description": "Related Collection ID. You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection)."
}
}
}
DatabasesCreateStringAttributeRequest
{
"type": "object",
"required": [
"key",
"size",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"size": {
"type": "integer",
"x-example": 1,
"description": "Attribute size for text attributes, in number of characters."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "string",
"x-example": "<DEFAULT>",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"encrypt": {
"type": "boolean",
"x-example": false,
"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."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesCreateUrlAttributeRequest
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": null,
"description": "Attribute Key."
},
"array": {
"type": "boolean",
"x-example": false,
"description": "Is attribute an array?"
},
"default": {
"type": "string",
"x-example": "https://example.com",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesGetAttributeByIdResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/attributeBoolean"
},
{
"$ref": "#/components/schemas/attributeInteger"
},
{
"$ref": "#/components/schemas/attributeFloat"
},
{
"$ref": "#/components/schemas/attributeEmail"
},
{
"$ref": "#/components/schemas/attributeEnum"
},
{
"$ref": "#/components/schemas/attributeUrl"
},
{
"$ref": "#/components/schemas/attributeIp"
},
{
"$ref": "#/components/schemas/attributeDatetime"
},
{
"$ref": "#/components/schemas/attributeRelationship"
},
{
"$ref": "#/components/schemas/attributeString"
}
]
}
DatabasesUpdateBooleanAttributeRequest
{
"type": "object",
"required": [
"required",
"default"
],
"properties": {
"default": {
"type": "boolean",
"x-example": false,
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateByIdRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Database name. Max length: 128 chars."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
}
}
}
DatabasesUpdateCollectionByIdRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Collection name. Max length: 128 chars."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"documentSecurity": {
"type": "boolean",
"x-example": false,
"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)."
}
}
}
DatabasesUpdateDatetimeAttributeRequest
{
"type": "object",
"required": [
"required",
"default"
],
"properties": {
"default": {
"type": "string",
"x-example": null,
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateDocumentByIdRequest
{
"type": "object",
"properties": {
"data": {
"type": "object",
"x-example": "{}",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated."
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"description": "An array of permissions strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions)."
}
}
}
DatabasesUpdateEmailAttributeRequest
{
"type": "object",
"required": [
"required",
"default"
],
"properties": {
"default": {
"type": "string",
"x-example": "email@example.com",
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateEnumAttributeRequest
{
"type": "object",
"required": [
"elements",
"required",
"default"
],
"properties": {
"default": {
"type": "string",
"x-example": "<DEFAULT>",
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"elements": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"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."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateFloatAttributeRequest
{
"type": "object",
"required": [
"required",
"min",
"max",
"default"
],
"properties": {
"max": {
"type": "number",
"x-example": null,
"description": "Maximum value to enforce on new documents"
},
"min": {
"type": "number",
"x-example": null,
"description": "Minimum value to enforce on new documents"
},
"default": {
"type": "number",
"x-example": null,
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateIntegerAttributeRequest
{
"type": "object",
"required": [
"required",
"min",
"max",
"default"
],
"properties": {
"max": {
"type": "integer",
"x-example": null,
"description": "Maximum value to enforce on new documents"
},
"min": {
"type": "integer",
"x-example": null,
"description": "Minimum value to enforce on new documents"
},
"default": {
"type": "integer",
"x-example": null,
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateIpAttributeRequest
{
"type": "object",
"required": [
"required",
"default"
],
"properties": {
"default": {
"type": "string",
"x-example": null,
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateRelationshipAttributeRequest
{
"type": "object",
"properties": {
"onDelete": {
"enum": [
"cascade",
"restrict",
"setNull"
],
"type": "string",
"x-example": "cascade",
"description": "Constraints option",
"x-enum-keys": [],
"x-enum-name": "RelationMutate"
}
}
}
DatabasesUpdateStringAttributeRequest
{
"type": "object",
"required": [
"required",
"default"
],
"properties": {
"default": {
"type": "string",
"x-example": "<DEFAULT>",
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
DatabasesUpdateUrlAttributeRequest
{
"type": "object",
"required": [
"required",
"default"
],
"properties": {
"default": {
"type": "string",
"x-example": "https://example.com",
"x-nullable": true,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": false,
"description": "Is attribute required?"
}
}
}
FunctionsCreateDeploymentFunctionCodeRequest
{
"type": "object",
"required": [
"code",
"activate"
],
"properties": {
"code": {
"type": "string",
"x-example": null,
"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."
},
"activate": {
"type": "boolean",
"x-example": false,
"description": "Automatically activate the deployment when it is finished building."
},
"commands": {
"type": "string",
"x-example": "<COMMANDS>",
"description": "Build Commands."
},
"entrypoint": {
"type": "string",
"x-example": "<ENTRYPOINT>",
"description": "Entrypoint File."
}
}
}
FunctionsCreateNewFunctionRequest
{
"type": "object",
"required": [
"functionId",
"name",
"runtime"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Function name. Max length: 128 chars."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Events list. Maximum of 100 events are allowed."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"execute": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"any\"]",
"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."
},
"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": {
"enum": [
"node-14.5",
"node-16.0",
"node-18.0",
"node-19.0",
"node-20.0",
"node-21.0",
"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",
"deno-1.40",
"dart-2.15",
"dart-2.16",
"dart-2.17",
"dart-2.18",
"dart-3.0",
"dart-3.1",
"dart-3.3",
"dotnet-3.1",
"dotnet-6.0",
"dotnet-7.0",
"java-8.0",
"java-11.0",
"java-17.0",
"java-18.0",
"java-21.0",
"swift-5.5",
"swift-5.8",
"swift-5.9",
"kotlin-1.6",
"kotlin-1.8",
"kotlin-1.9",
"cpp-17",
"cpp-20",
"bun-1.0"
],
"type": "string",
"x-example": "node-14.5",
"description": "Execution runtime.",
"x-enum-keys": [],
"x-enum-name": null
},
"timeout": {
"type": "integer",
"x-example": 1,
"description": "Function maximum execution time in seconds."
},
"commands": {
"type": "string",
"x-example": "<COMMANDS>",
"description": "Build Commands."
},
"schedule": {
"type": "string",
"x-example": null,
"description": "Schedule CRON syntax."
},
"entrypoint": {
"type": "string",
"x-example": "<ENTRYPOINT>",
"description": "Entrypoint File. This path is relative to the \"providerRootDirectory\"."
},
"functionId": {
"type": "string",
"x-example": "<FUNCTION_ID>",
"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."
},
"templateOwner": {
"type": "string",
"x-example": "<TEMPLATE_OWNER>",
"description": "The name of the owner of the template."
},
"installationId": {
"type": "string",
"x-example": "<INSTALLATION_ID>",
"description": "Appwrite Installation ID for VCS (Version Control System) deployment."
},
"providerBranch": {
"type": "string",
"x-example": "<PROVIDER_BRANCH>",
"description": "Production branch for the repo linked to the function."
},
"templateBranch": {
"type": "string",
"x-example": "<TEMPLATE_BRANCH>",
"description": "Production branch for the repo linked to the function template."
},
"providerSilentMode": {
"type": "boolean",
"x-example": false,
"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."
},
"templateRepository": {
"type": "string",
"x-example": "<TEMPLATE_REPOSITORY>",
"description": "Repository name of the template."
},
"providerRepositoryId": {
"type": "string",
"x-example": "<PROVIDER_REPOSITORY_ID>",
"description": "Repository ID of the repo linked to the function."
},
"providerRootDirectory": {
"type": "string",
"x-example": "<PROVIDER_ROOT_DIRECTORY>",
"description": "Path to function code in the linked repo."
},
"templateRootDirectory": {
"type": "string",
"x-example": "<TEMPLATE_ROOT_DIRECTORY>",
"description": "Path to function code in the template repo."
}
}
}
FunctionsCreateVariableRequest
{
"type": "object",
"required": [
"key",
"value"
],
"properties": {
"key": {
"type": "string",
"x-example": "<KEY>",
"description": "Variable key. Max length: 255 chars."
},
"value": {
"type": "string",
"x-example": "<VALUE>",
"description": "Variable value. Max length: 8192 chars."
}
}
}
FunctionsTriggerExecutionRequest
{
"type": "object",
"properties": {
"body": {
"type": "string",
"x-example": "<BODY>",
"description": "HTTP body of execution. Default value is empty string."
},
"path": {
"type": "string",
"x-example": "<PATH>",
"description": "HTTP path of execution. Path can include query params. Default value is /"
},
"async": {
"type": "boolean",
"x-example": false,
"description": "Execute code in the background. Default value is false."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"OPTIONS"
],
"type": "string",
"x-example": "GET",
"description": "HTTP method of execution. Default value is GET.",
"x-enum-keys": [],
"x-enum-name": "ExecutionMethod"
},
"headers": {
"type": "object",
"x-example": "{}",
"description": "HTTP headers of execution. Defaults to empty."
}
}
}
FunctionsUpdateByIdRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Function name. Max length: 128 chars."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Events list. Maximum of 100 events are allowed."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"execute": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"any\"]",
"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."
},
"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": {
"enum": [
"node-14.5",
"node-16.0",
"node-18.0",
"node-19.0",
"node-20.0",
"node-21.0",
"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",
"deno-1.40",
"dart-2.15",
"dart-2.16",
"dart-2.17",
"dart-2.18",
"dart-3.0",
"dart-3.1",
"dart-3.3",
"dotnet-3.1",
"dotnet-6.0",
"dotnet-7.0",
"java-8.0",
"java-11.0",
"java-17.0",
"java-18.0",
"java-21.0",
"swift-5.5",
"swift-5.8",
"swift-5.9",
"kotlin-1.6",
"kotlin-1.8",
"kotlin-1.9",
"cpp-17",
"cpp-20",
"bun-1.0"
],
"type": "string",
"x-example": "node-14.5",
"description": "Execution runtime.",
"x-enum-keys": [],
"x-enum-name": null
},
"timeout": {
"type": "integer",
"x-example": 1,
"description": "Maximum execution time in seconds."
},
"commands": {
"type": "string",
"x-example": "<COMMANDS>",
"description": "Build Commands."
},
"schedule": {
"type": "string",
"x-example": null,
"description": "Schedule CRON syntax."
},
"entrypoint": {
"type": "string",
"x-example": "<ENTRYPOINT>",
"description": "Entrypoint File. This path is relative to the \"providerRootDirectory\"."
},
"installationId": {
"type": "string",
"x-example": "<INSTALLATION_ID>",
"description": "Appwrite Installation ID for VCS (Version Controle System) deployment."
},
"providerBranch": {
"type": "string",
"x-example": "<PROVIDER_BRANCH>",
"description": "Production branch for the repo linked to the function"
},
"providerSilentMode": {
"type": "boolean",
"x-example": false,
"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."
},
"providerRepositoryId": {
"type": "string",
"x-example": "<PROVIDER_REPOSITORY_ID>",
"description": "Repository ID of the repo linked to the function"
},
"providerRootDirectory": {
"type": "string",
"x-example": "<PROVIDER_ROOT_DIRECTORY>",
"description": "Path to function code in the linked repo."
}
}
}
FunctionsUpdateVariableByIdRequest
{
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"x-example": "<KEY>",
"description": "Variable key. Max length: 255 chars."
},
"value": {
"type": "string",
"x-example": "<VALUE>",
"description": "Variable value. Max length: 8192 chars."
}
}
}
MessagingCreateApnsProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"teamId": {
"type": "string",
"x-example": "<TEAM_ID>",
"description": "APNS team ID."
},
"authKey": {
"type": "string",
"x-example": "<AUTH_KEY>",
"description": "APNS authentication key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"sandbox": {
"type": "boolean",
"x-example": false,
"description": "Use APNS sandbox environment."
},
"bundleId": {
"type": "string",
"x-example": "<BUNDLE_ID>",
"description": "APNS bundle ID."
},
"authKeyId": {
"type": "string",
"x-example": "<AUTH_KEY_ID>",
"description": "APNS authentication key ID."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
MessagingCreateEmailMessageRequest
{
"type": "object",
"required": [
"messageId",
"subject",
"content"
],
"properties": {
"cc": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of target IDs to be added as CC."
},
"bcc": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of target IDs to be added as BCC."
},
"html": {
"type": "boolean",
"x-example": false,
"description": "Is content of type HTML"
},
"draft": {
"type": "boolean",
"x-example": false,
"description": "Is message a draft"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of User IDs."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Topic IDs."
},
"content": {
"type": "string",
"x-example": "<CONTENT>",
"description": "Email Content."
},
"subject": {
"type": "string",
"x-example": "<SUBJECT>",
"description": "Email Subject."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Targets IDs."
},
"messageId": {
"type": "string",
"x-example": "<MESSAGE_ID>",
"description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"attachments": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of compound bucket IDs to file IDs to be attached to the email."
},
"scheduledAt": {
"type": "string",
"x-example": null,
"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."
}
}
}
MessagingCreateFcmProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"serviceAccountJSON": {
"type": "object",
"x-example": "{}",
"description": "FCM service account JSON."
}
}
}
MessagingCreateMsg91ProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"from": {
"type": "string",
"x-example": "+12065550100",
"description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"authKey": {
"type": "string",
"x-example": "<AUTH_KEY>",
"description": "Msg91 Auth Key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"senderId": {
"type": "string",
"x-example": "<SENDER_ID>",
"description": "Msg91 Sender ID."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
MessagingCreateProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Mailgun API Key."
},
"domain": {
"type": "string",
"x-example": "<DOMAIN>",
"description": "Mailgun Domain."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"fromName": {
"type": "string",
"x-example": "<FROM_NAME>",
"description": "Sender Name."
},
"fromEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Sender email address."
},
"isEuRegion": {
"type": "boolean",
"x-example": false,
"description": "Set as EU region."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"replyToName": {
"type": "string",
"x-example": "<REPLY_TO_NAME>",
"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."
},
"replyToEmail": {
"type": "string",
"x-example": "email@example.com",
"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."
}
}
}
MessagingCreatePushNotificationRequest
{
"type": "object",
"required": [
"messageId",
"title",
"body"
],
"properties": {
"tag": {
"type": "string",
"x-example": "<TAG>",
"description": "Tag for push notification. Available only for Android Platform."
},
"body": {
"type": "string",
"x-example": "<BODY>",
"description": "Body for push notification."
},
"data": {
"type": "object",
"x-example": "{}",
"description": "Additional Data for push notification."
},
"icon": {
"type": "string",
"x-example": "<ICON>",
"description": "Icon for push notification. Available only for Android and Web Platform."
},
"badge": {
"type": "string",
"x-example": "<BADGE>",
"description": "Badge for push notification. Available only for IOS Platform."
},
"color": {
"type": "string",
"x-example": "<COLOR>",
"description": "Color for push notification. Available only for Android Platform."
},
"draft": {
"type": "boolean",
"x-example": false,
"description": "Is message a draft"
},
"image": {
"type": "string",
"x-example": "[ID1:ID2]",
"description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage."
},
"sound": {
"type": "string",
"x-example": "<SOUND>",
"description": "Sound for push notification. Available only for Android and IOS Platform."
},
"title": {
"type": "string",
"x-example": "<TITLE>",
"description": "Title for push notification."
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of User IDs."
},
"action": {
"type": "string",
"x-example": "<ACTION>",
"description": "Action for push notification."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Topic IDs."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Targets IDs."
},
"messageId": {
"type": "string",
"x-example": "<MESSAGE_ID>",
"description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"scheduledAt": {
"type": "string",
"x-example": null,
"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."
}
}
}
MessagingCreateSendgridProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Sendgrid API key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"fromName": {
"type": "string",
"x-example": "<FROM_NAME>",
"description": "Sender Name."
},
"fromEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Sender email address."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"replyToName": {
"type": "string",
"x-example": "<REPLY_TO_NAME>",
"description": "Name set in the reply to field for the mail. Default value is sender name."
},
"replyToEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Email set in the reply to field for the mail. Default value is sender email."
}
}
}
MessagingCreateSmsMessageRequest
{
"type": "object",
"required": [
"messageId",
"content"
],
"properties": {
"draft": {
"type": "boolean",
"x-example": false,
"description": "Is message a draft"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of User IDs."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Topic IDs."
},
"content": {
"type": "string",
"x-example": "<CONTENT>",
"description": "SMS Content."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Targets IDs."
},
"messageId": {
"type": "string",
"x-example": "<MESSAGE_ID>",
"description": "Message ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"scheduledAt": {
"type": "string",
"x-example": null,
"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."
}
}
}
MessagingCreateSmtpProviderRequest
{
"type": "object",
"required": [
"providerId",
"name",
"host"
],
"properties": {
"host": {
"type": "string",
"x-example": "<HOST>",
"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."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"port": {
"type": "integer",
"x-example": 1,
"description": "The default SMTP server port."
},
"mailer": {
"type": "string",
"x-example": "<MAILER>",
"description": "The value to use for the X-Mailer header."
},
"autoTLS": {
"type": "boolean",
"x-example": false,
"description": "Enable SMTP AutoTLS feature."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"fromName": {
"type": "string",
"x-example": "<FROM_NAME>",
"description": "Sender Name."
},
"password": {
"type": "string",
"x-example": "<PASSWORD>",
"description": "Authentication password."
},
"username": {
"type": "string",
"x-example": "<USERNAME>",
"description": "Authentication username."
},
"fromEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Sender email address."
},
"encryption": {
"enum": [
"none",
"ssl",
"tls"
],
"type": "string",
"x-example": "none",
"description": "Encryption type. Can be omitted, 'ssl', or 'tls'",
"x-enum-keys": [],
"x-enum-name": "SmtpEncryption"
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"replyToName": {
"type": "string",
"x-example": "<REPLY_TO_NAME>",
"description": "Name set in the reply to field for the mail. Default value is sender name."
},
"replyToEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Email set in the reply to field for the mail. Default value is sender email."
}
}
}
MessagingCreateSubscriberRequest
{
"type": "object",
"required": [
"subscriberId",
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"x-example": "<TARGET_ID>",
"description": "Target ID. The target ID to link to the specified Topic ID."
},
"subscriberId": {
"type": "string",
"x-example": "<SUBSCRIBER_ID>",
"description": "Subscriber ID. Choose a custom Subscriber ID or a new Subscriber ID."
}
}
}
MessagingCreateTelesignProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"from": {
"type": "string",
"x-example": "+12065550100",
"description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Telesign API key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"customerId": {
"type": "string",
"x-example": "<CUSTOMER_ID>",
"description": "Telesign customer ID."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
MessagingCreateTextmagicProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"from": {
"type": "string",
"x-example": "+12065550100",
"description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Textmagic apiKey."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"username": {
"type": "string",
"x-example": "<USERNAME>",
"description": "Textmagic username."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
MessagingCreateTopicRequest
{
"type": "object",
"required": [
"topicId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Topic Name."
},
"topicId": {
"type": "string",
"x-example": "<TOPIC_ID>",
"description": "Topic ID. Choose a custom Topic ID or a new Topic ID."
},
"subscribe": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"any\"]",
"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."
}
}
}
MessagingCreateTwilioProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"from": {
"type": "string",
"x-example": "+12065550100",
"description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"authToken": {
"type": "string",
"x-example": "<AUTH_TOKEN>",
"description": "Twilio authentication token."
},
"accountSid": {
"type": "string",
"x-example": "<ACCOUNT_SID>",
"description": "Twilio account secret ID."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
MessagingCreateVonageProviderRequest
{
"type": "object",
"required": [
"providerId",
"name"
],
"properties": {
"from": {
"type": "string",
"x-example": "+12065550100",
"description": "Sender Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Vonage API key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"apiSecret": {
"type": "string",
"x-example": "<API_SECRET>",
"description": "Vonage API secret."
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"description": "Provider ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
MessagingUpdateApnsProviderRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"teamId": {
"type": "string",
"x-example": "<TEAM_ID>",
"description": "APNS team ID."
},
"authKey": {
"type": "string",
"x-example": "<AUTH_KEY>",
"description": "APNS authentication key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"sandbox": {
"type": "boolean",
"x-example": false,
"description": "Use APNS sandbox environment."
},
"bundleId": {
"type": "string",
"x-example": "<BUNDLE_ID>",
"description": "APNS bundle ID."
},
"authKeyId": {
"type": "string",
"x-example": "<AUTH_KEY_ID>",
"description": "APNS authentication key ID."
}
}
}
MessagingUpdateEmailByIdRequest
{
"type": "object",
"properties": {
"cc": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of target IDs to be added as CC."
},
"bcc": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of target IDs to be added as BCC."
},
"html": {
"type": "boolean",
"x-example": false,
"description": "Is content of type HTML"
},
"draft": {
"type": "boolean",
"x-example": false,
"description": "Is message a draft"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of User IDs."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Topic IDs."
},
"content": {
"type": "string",
"x-example": "<CONTENT>",
"description": "Email Content."
},
"subject": {
"type": "string",
"x-example": "<SUBJECT>",
"description": "Email Subject."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Targets IDs."
},
"scheduledAt": {
"type": "string",
"x-example": null,
"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."
}
}
}
MessagingUpdateFcmProviderByIdRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"serviceAccountJSON": {
"type": "object",
"x-example": "{}",
"description": "FCM service account JSON."
}
}
}
MessagingUpdateMailgunProviderRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Mailgun API Key."
},
"domain": {
"type": "string",
"x-example": "<DOMAIN>",
"description": "Mailgun Domain."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"fromName": {
"type": "string",
"x-example": "<FROM_NAME>",
"description": "Sender Name."
},
"fromEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Sender email address."
},
"isEuRegion": {
"type": "boolean",
"x-example": false,
"description": "Set as EU region."
},
"replyToName": {
"type": "string",
"x-example": "<REPLY_TO_NAME>",
"description": "Name set in the reply to field for the mail. Default value is sender name."
},
"replyToEmail": {
"type": "string",
"x-example": "<REPLY_TO_EMAIL>",
"description": "Email set in the reply to field for the mail. Default value is sender email."
}
}
}
MessagingUpdateMsg91ProviderRequest
{
"type": "object",
"properties": {
"from": {
"type": "string",
"x-example": "<FROM>",
"description": "Sender number."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"authKey": {
"type": "string",
"x-example": "<AUTH_KEY>",
"description": "Msg91 Auth Key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"senderId": {
"type": "string",
"x-example": "<SENDER_ID>",
"description": "Msg91 Sender ID."
}
}
}
MessagingUpdateProviderByIdRequest
{
"type": "object",
"properties": {
"host": {
"type": "string",
"x-example": "<HOST>",
"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."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"port": {
"type": "integer",
"x-example": 1,
"description": "SMTP port."
},
"mailer": {
"type": "string",
"x-example": "<MAILER>",
"description": "The value to use for the X-Mailer header."
},
"autoTLS": {
"type": "boolean",
"x-example": false,
"description": "Enable SMTP AutoTLS feature."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"fromName": {
"type": "string",
"x-example": "<FROM_NAME>",
"description": "Sender Name."
},
"password": {
"type": "string",
"x-example": "<PASSWORD>",
"description": "Authentication password."
},
"username": {
"type": "string",
"x-example": "<USERNAME>",
"description": "Authentication username."
},
"fromEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Sender email address."
},
"encryption": {
"enum": [
"none",
"ssl",
"tls"
],
"type": "string",
"x-example": "none",
"description": "Encryption type. Can be 'ssl' or 'tls'",
"x-enum-keys": [],
"x-enum-name": "SmtpEncryption"
},
"replyToName": {
"type": "string",
"x-example": "<REPLY_TO_NAME>",
"description": "Name set in the Reply To field for the mail. Default value is Sender Name."
},
"replyToEmail": {
"type": "string",
"x-example": "<REPLY_TO_EMAIL>",
"description": "Email set in the Reply To field for the mail. Default value is Sender Email."
}
}
}
MessagingUpdateProviderRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Sendgrid API key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"fromName": {
"type": "string",
"x-example": "<FROM_NAME>",
"description": "Sender Name."
},
"fromEmail": {
"type": "string",
"x-example": "email@example.com",
"description": "Sender email address."
},
"replyToName": {
"type": "string",
"x-example": "<REPLY_TO_NAME>",
"description": "Name set in the Reply To field for the mail. Default value is Sender Name."
},
"replyToEmail": {
"type": "string",
"x-example": "<REPLY_TO_EMAIL>",
"description": "Email set in the Reply To field for the mail. Default value is Sender Email."
}
}
}
MessagingUpdatePushNotificationRequest
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"x-example": "<TAG>",
"description": "Tag for push notification. Available only for Android platforms."
},
"body": {
"type": "string",
"x-example": "<BODY>",
"description": "Body for push notification."
},
"data": {
"type": "object",
"x-example": "{}",
"description": "Additional Data for push notification."
},
"icon": {
"type": "string",
"x-example": "<ICON>",
"description": "Icon for push notification. Available only for Android and Web platforms."
},
"badge": {
"type": "integer",
"x-example": null,
"description": "Badge for push notification. Available only for iOS platforms."
},
"color": {
"type": "string",
"x-example": "<COLOR>",
"description": "Color for push notification. Available only for Android platforms."
},
"draft": {
"type": "boolean",
"x-example": false,
"description": "Is message a draft"
},
"image": {
"type": "string",
"x-example": "[ID1:ID2]",
"description": "Image for push notification. Must be a compound bucket ID to file ID of a jpeg, png, or bmp image in Appwrite Storage."
},
"sound": {
"type": "string",
"x-example": "<SOUND>",
"description": "Sound for push notification. Available only for Android and iOS platforms."
},
"title": {
"type": "string",
"x-example": "<TITLE>",
"description": "Title for push notification."
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of User IDs."
},
"action": {
"type": "string",
"x-example": "<ACTION>",
"description": "Action for push notification."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Topic IDs."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Targets IDs."
},
"scheduledAt": {
"type": "string",
"x-example": null,
"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."
}
}
}
MessagingUpdateSmsMessageRequest
{
"type": "object",
"properties": {
"draft": {
"type": "boolean",
"x-example": false,
"description": "Is message a draft"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of User IDs."
},
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Topic IDs."
},
"content": {
"type": "string",
"x-example": "<CONTENT>",
"description": "Email Content."
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "List of Targets IDs."
},
"scheduledAt": {
"type": "string",
"x-example": null,
"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."
}
}
}
MessagingUpdateTelesignProviderRequest
{
"type": "object",
"properties": {
"from": {
"type": "string",
"x-example": "<FROM>",
"description": "Sender number."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Telesign API key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"customerId": {
"type": "string",
"x-example": "<CUSTOMER_ID>",
"description": "Telesign customer ID."
}
}
}
MessagingUpdateTextmagicProviderRequest
{
"type": "object",
"properties": {
"from": {
"type": "string",
"x-example": "<FROM>",
"description": "Sender number."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Textmagic apiKey."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"username": {
"type": "string",
"x-example": "<USERNAME>",
"description": "Textmagic username."
}
}
}
MessagingUpdateTopicByIdRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Topic Name."
},
"subscribe": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"any\"]",
"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."
}
}
}
MessagingUpdateTwilioProviderRequest
{
"type": "object",
"properties": {
"from": {
"type": "string",
"x-example": "<FROM>",
"description": "Sender number."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"authToken": {
"type": "string",
"x-example": "<AUTH_TOKEN>",
"description": "Twilio authentication token."
},
"accountSid": {
"type": "string",
"x-example": "<ACCOUNT_SID>",
"description": "Twilio account secret ID."
}
}
}
MessagingUpdateVonageProviderRequest
{
"type": "object",
"properties": {
"from": {
"type": "string",
"x-example": "<FROM>",
"description": "Sender number."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Provider name."
},
"apiKey": {
"type": "string",
"x-example": "<API_KEY>",
"description": "Vonage API key."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Set as enabled."
},
"apiSecret": {
"type": "string",
"x-example": "<API_SECRET>",
"description": "Vonage API secret."
}
}
}
StorageCreateFileRequest
{
"type": "object",
"required": [
"fileId",
"file"
],
"properties": {
"file": {
"type": "string",
"x-example": null,
"description": "Binary file. Appwrite SDKs provide helpers to handle file input. [Learn about file input](https://appwrite.io/docs/storage#file-input)."
},
"fileId": {
"type": "string",
"x-example": "<FILE_ID>",
"description": "File ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.",
"x-upload-id": true
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"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)."
}
}
}
StorageCreateNewBucketRequest
{
"type": "object",
"required": [
"bucketId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Bucket name"
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"bucketId": {
"type": "string",
"x-example": "<BUCKET_ID>",
"description": "Unique Id. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"antivirus": {
"type": "boolean",
"x-example": false,
"description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled"
},
"encryption": {
"type": "boolean",
"x-example": false,
"description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled"
},
"compression": {
"enum": [
"none",
"gzip",
"zstd"
],
"type": "string",
"x-example": "none",
"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",
"x-enum-keys": [],
"x-enum-name": null
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"description": "An array of permission strings. By default, no user is granted with any permissions. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"fileSecurity": {
"type": "boolean",
"x-example": false,
"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)."
},
"maximumFileSize": {
"type": "integer",
"x-example": 1,
"description": "Maximum file size allowed in bytes. Maximum allowed value is 30MB."
},
"allowedFileExtensions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long."
}
}
}
StorageUpdateBucketByIdRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Bucket name"
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"antivirus": {
"type": "boolean",
"x-example": false,
"description": "Is virus scanning enabled? For file size above 20MB AntiVirus scanning is skipped even if it's enabled"
},
"encryption": {
"type": "boolean",
"x-example": false,
"description": "Is encryption enabled? For file size above 20MB encryption is skipped even if it's enabled"
},
"compression": {
"enum": [
"none",
"gzip",
"zstd"
],
"type": "string",
"x-example": "none",
"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",
"x-enum-keys": [],
"x-enum-name": null
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"description": "An array of permission strings. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"fileSecurity": {
"type": "boolean",
"x-example": false,
"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)."
},
"maximumFileSize": {
"type": "integer",
"x-example": 1,
"description": "Maximum file size allowed in bytes. Maximum allowed value is 30MB."
},
"allowedFileExtensions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Allowed file extensions. Maximum of 100 extensions are allowed, each 64 characters long."
}
}
}
StorageUpdateFileByIdRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Name of the file"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "[\"read(\"any\")\"]",
"description": "An array of permission string. By default, the current permissions are inherited. [Learn more about permissions](https://appwrite.io/docs/permissions)."
}
}
}
TeamsCreateMembershipRequestRequest
{
"type": "object",
"required": [
"roles"
],
"properties": {
"url": {
"type": "string",
"x-example": "https://example.com",
"description": "URL to redirect the user back to your app from the invitation 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."
},
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Name of the new team member. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "Email of the new team member."
},
"phone": {
"type": "string",
"x-example": "+12065550100",
"description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"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."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "ID of the user to be added to a team."
}
}
}
TeamsCreateNewTeamRequest
{
"type": "object",
"required": [
"teamId",
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Team name. Max length: 128 chars."
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"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."
},
"teamId": {
"type": "string",
"x-example": "<TEAM_ID>",
"description": "Team ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
}
}
}
TeamsUpdateMembershipRolesRequest
{
"type": "object",
"required": [
"roles"
],
"properties": {
"roles": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"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."
}
}
}
TeamsUpdateMembershipStatusRequest
{
"type": "object",
"required": [
"userId",
"secret"
],
"properties": {
"secret": {
"type": "string",
"x-example": "<SECRET>",
"description": "Secret key."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID."
}
}
}
TeamsUpdateNameByIdRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "New team name. Max length: 128 chars."
}
}
}
TeamsUpdatePrefsByIdRequest
{
"type": "object",
"required": [
"prefs"
],
"properties": {
"prefs": {
"type": "object",
"x-example": "{}",
"description": "Prefs key-value JSON object."
}
}
}
UsersCreateArgon2UserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using Argon2."
}
}
}
UsersCreateBcryptUserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using Bcrypt."
}
}
}
UsersCreateMd5UserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using MD5."
}
}
}
UsersCreateNewUserRequest
{
"type": "object",
"required": [
"userId"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"phone": {
"type": "string",
"x-example": "+12065550100",
"description": "Phone number. Format this number with a leading '+' and a country code, e.g., +16175551212."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": null,
"description": "Plain text user password. Must be at least 8 chars."
}
}
}
UsersCreatePhpassUserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"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."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using PHPass."
}
}
}
UsersCreateScryptModifiedUserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password",
"passwordSalt",
"passwordSaltSeparator",
"passwordSignerKey"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using Scrypt Modified."
},
"passwordSalt": {
"type": "string",
"x-example": "<PASSWORD_SALT>",
"description": "Salt used to hash password."
},
"passwordSignerKey": {
"type": "string",
"x-example": "<PASSWORD_SIGNER_KEY>",
"description": "Signer key used to hash password."
},
"passwordSaltSeparator": {
"type": "string",
"x-example": "<PASSWORD_SALT_SEPARATOR>",
"description": "Salt separator used to hash password."
}
}
}
UsersCreateScryptUserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password",
"passwordSalt",
"passwordCpu",
"passwordMemory",
"passwordParallel",
"passwordLength"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using Scrypt."
},
"passwordCpu": {
"type": "integer",
"x-example": null,
"description": "Optional CPU cost used to hash password."
},
"passwordSalt": {
"type": "string",
"x-example": "<PASSWORD_SALT>",
"description": "Optional salt used to hash password."
},
"passwordLength": {
"type": "integer",
"x-example": null,
"description": "Optional hash length used to hash password."
},
"passwordMemory": {
"type": "integer",
"x-example": null,
"description": "Optional memory cost used to hash password."
},
"passwordParallel": {
"type": "integer",
"x-example": null,
"description": "Optional parallelization cost used to hash password."
}
}
}
UsersCreateShaUserRequest
{
"type": "object",
"required": [
"userId",
"email",
"password"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
},
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
},
"userId": {
"type": "string",
"x-example": "<USER_ID>",
"description": "User ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"password": {
"type": "string",
"x-example": "password",
"description": "User password hashed using SHA."
},
"passwordVersion": {
"enum": [
"sha1",
"sha224",
"sha256",
"sha384",
"sha512/224",
"sha512/256",
"sha512",
"sha3-224",
"sha3-256",
"sha3-384",
"sha3-512"
],
"type": "string",
"x-example": "sha1",
"description": "Optional SHA version used to hash password. Allowed values are: 'sha1', 'sha224', 'sha256', 'sha384', 'sha512/224', 'sha512/256', 'sha512', 'sha3-224', 'sha3-256', 'sha3-384', 'sha3-512'",
"x-enum-keys": [],
"x-enum-name": "PasswordHash"
}
}
}
UsersCreateTargetMessagingRequest
{
"type": "object",
"required": [
"targetId",
"providerType",
"identifier"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23."
},
"targetId": {
"type": "string",
"x-example": "<TARGET_ID>",
"description": "Target ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars."
},
"identifier": {
"type": "string",
"x-example": "<IDENTIFIER>",
"description": "The target identifier (token, email, phone etc.)"
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"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."
},
"providerType": {
"enum": [
"email",
"sms",
"push"
],
"type": "string",
"x-example": "email",
"description": "The target provider type. Can be one of the following: `email`, `sms` or `push`.",
"x-enum-keys": [],
"x-enum-name": "MessagingProviderType"
}
}
}
UsersCreateTokenSessionRequest
{
"type": "object",
"properties": {
"expire": {
"type": "integer",
"x-example": 60,
"description": "Token expiration period in seconds. The default expiration is 15 minutes."
},
"length": {
"type": "integer",
"x-example": 4,
"description": "Token length in characters. The default length is 6 characters"
}
}
}
UsersUpdateEmailByIdRequest
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"x-example": "email@example.com",
"description": "User email."
}
}
}
UsersUpdateEmailVerificationRequest
{
"type": "object",
"required": [
"emailVerification"
],
"properties": {
"emailVerification": {
"type": "boolean",
"x-example": false,
"description": "User email verification status."
}
}
}
UsersUpdateLabelsByIdRequest
{
"type": "object",
"required": [
"labels"
],
"properties": {
"labels": {
"type": "array",
"items": {
"type": "string"
},
"x-example": null,
"description": "Array of user labels. Replaces the previous labels. Maximum of 1000 labels are allowed, each up to 36 alphanumeric characters long."
}
}
}
UsersUpdateMfaStatusRequest
{
"type": "object",
"required": [
"mfa"
],
"properties": {
"mfa": {
"type": "boolean",
"x-example": false,
"description": "Enable or disable MFA."
}
}
}
UsersUpdatePasswordByIdRequest
{
"type": "object",
"required": [
"password"
],
"properties": {
"password": {
"type": "string",
"x-example": null,
"description": "New user password. Must be at least 8 chars."
}
}
}
UsersUpdatePhoneByIdRequest
{
"type": "object",
"required": [
"number"
],
"properties": {
"number": {
"type": "string",
"x-example": "+12065550100",
"description": "User phone number."
}
}
}
UsersUpdatePhoneVerificationRequest
{
"type": "object",
"required": [
"phoneVerification"
],
"properties": {
"phoneVerification": {
"type": "boolean",
"x-example": false,
"description": "User phone verification status."
}
}
}
UsersUpdatePreferencesByIdRequest
{
"type": "object",
"required": [
"prefs"
],
"properties": {
"prefs": {
"type": "object",
"x-example": "{}",
"description": "Prefs key-value JSON object."
}
}
}
UsersUpdateStatusRequest
{
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "boolean",
"x-example": false,
"description": "User Status. To activate the user pass `true` and to block the user pass `false`."
}
}
}
UsersUpdateTargetMessagingRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "Target name. Max length: 128 chars. For example: My Awesome App Galaxy S23."
},
"identifier": {
"type": "string",
"x-example": "<IDENTIFIER>",
"description": "The target identifier (token, email, phone etc.)"
},
"providerId": {
"type": "string",
"x-example": "<PROVIDER_ID>",
"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."
}
}
}
UsersUpdateUserByNameRequest
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"x-example": "<NAME>",
"description": "User name. Max length: 128 chars."
}
}
}
algoArgon2
{
"type": "object",
"required": [
"type",
"memoryCost",
"timeCost",
"threads"
],
"properties": {
"type": {
"type": "string",
"x-example": "argon2",
"description": "Algo type."
},
"threads": {
"type": "integer",
"format": "int32",
"x-example": 3,
"description": "Number of threads used to compute hash."
},
"timeCost": {
"type": "integer",
"format": "int32",
"x-example": 4,
"description": "Amount of time consumed to compute hash"
},
"memoryCost": {
"type": "integer",
"format": "int32",
"x-example": 65536,
"description": "Memory used to compute hash."
}
},
"description": "AlgoArgon2"
}
algoBcrypt
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"x-example": "bcrypt",
"description": "Algo type."
}
},
"description": "AlgoBcrypt"
}
algoMd5
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"x-example": "md5",
"description": "Algo type."
}
},
"description": "AlgoMD5"
}
algoPhpass
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"x-example": "phpass",
"description": "Algo type."
}
},
"description": "AlgoPHPass"
}
algoScrypt
{
"type": "object",
"required": [
"type",
"costCpu",
"costMemory",
"costParallel",
"length"
],
"properties": {
"type": {
"type": "string",
"x-example": "scrypt",
"description": "Algo type."
},
"length": {
"type": "integer",
"format": "int32",
"x-example": 64,
"description": "Length used to compute hash."
},
"costCpu": {
"type": "integer",
"format": "int32",
"x-example": 8,
"description": "CPU complexity of computed hash."
},
"costMemory": {
"type": "integer",
"format": "int32",
"x-example": 14,
"description": "Memory complexity of computed hash."
},
"costParallel": {
"type": "integer",
"format": "int32",
"x-example": 1,
"description": "Parallelization of computed hash."
}
},
"description": "AlgoScrypt"
}
algoScryptModified
{
"type": "object",
"required": [
"type",
"salt",
"saltSeparator",
"signerKey"
],
"properties": {
"salt": {
"type": "string",
"x-example": "UxLMreBr6tYyjQ==",
"description": "Salt used to compute hash."
},
"type": {
"type": "string",
"x-example": "scryptMod",
"description": "Algo type."
},
"signerKey": {
"type": "string",
"x-example": "XyEKE9RcTDeLEsL/RjwPDBv/RqDl8fb3gpYEOQaPihbxf1ZAtSOHCjuAAa7Q3oHpCYhXSN9tizHgVOwn6krflQ==",
"description": "Key used to compute hash."
},
"saltSeparator": {
"type": "string",
"x-example": "Bw==",
"description": "Separator used to compute hash."
}
},
"description": "AlgoScryptModified"
}
algoSha
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"x-example": "sha",
"description": "Algo type."
}
},
"description": "AlgoSHA"
}
any
{
"type": "object",
"description": "Any",
"additionalProperties": true
}
attributeBoolean
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": "isEnabled",
"description": "Attribute Key."
},
"type": {
"type": "string",
"x-example": "boolean",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeBoolean"
}
attributeDatetime
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"format"
],
"properties": {
"key": {
"type": "string",
"x-example": "birthDay",
"description": "Attribute Key."
},
"type": {
"type": "string",
"x-example": "datetime",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"format": {
"type": "string",
"x-example": "datetime",
"description": "ISO 8601 format."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "string",
"nullable": true,
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Default value for attribute when not provided. Only null is optional"
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeDatetime"
}
attributeEmail
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"format"
],
"properties": {
"key": {
"type": "string",
"x-example": "userEmail",
"description": "Attribute Key."
},
"type": {
"type": "string",
"x-example": "string",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"format": {
"type": "string",
"x-example": "email",
"description": "String format."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "string",
"nullable": true,
"x-example": "default@example.com",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeEmail"
}
attributeEnum
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"elements",
"format"
],
"properties": {
"key": {
"type": "string",
"x-example": "status",
"description": "Attribute Key."
},
"type": {
"type": "string",
"x-example": "string",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"format": {
"type": "string",
"x-example": "enum",
"description": "String format."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "string",
"nullable": true,
"x-example": "element",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"elements": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "element",
"description": "Array of elements in enumerated type."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeEnum"
}
attributeFloat
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": "percentageCompleted",
"description": "Attribute Key."
},
"max": {
"type": "number",
"format": "double",
"nullable": true,
"x-example": 10.5,
"description": "Maximum value to enforce for new documents."
},
"min": {
"type": "number",
"format": "double",
"nullable": true,
"x-example": 1.5,
"description": "Minimum value to enforce for new documents."
},
"type": {
"type": "string",
"x-example": "double",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "number",
"format": "double",
"nullable": true,
"x-example": 2.5,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeFloat"
}
attributeInteger
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required"
],
"properties": {
"key": {
"type": "string",
"x-example": "count",
"description": "Attribute Key."
},
"max": {
"type": "integer",
"format": "int32",
"nullable": true,
"x-example": 10,
"description": "Maximum value to enforce for new documents."
},
"min": {
"type": "integer",
"format": "int32",
"nullable": true,
"x-example": 1,
"description": "Minimum value to enforce for new documents."
},
"type": {
"type": "string",
"x-example": "integer",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "integer",
"format": "int32",
"nullable": true,
"x-example": 10,
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeInteger"
}
attributeIp
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"format"
],
"properties": {
"key": {
"type": "string",
"x-example": "ipAddress",
"description": "Attribute Key."
},
"type": {
"type": "string",
"x-example": "string",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"format": {
"type": "string",
"x-example": "ip",
"description": "String format."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "string",
"nullable": true,
"x-example": "192.0.2.0",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeIP"
}
attributeList
{
"type": "object",
"required": [
"total",
"attributes"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of attributes in the given collection."
},
"attributes": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/attributeBoolean"
},
{
"$ref": "#/components/schemas/attributeInteger"
},
{
"$ref": "#/components/schemas/attributeFloat"
},
{
"$ref": "#/components/schemas/attributeEmail"
},
{
"$ref": "#/components/schemas/attributeEnum"
},
{
"$ref": "#/components/schemas/attributeUrl"
},
{
"$ref": "#/components/schemas/attributeIp"
},
{
"$ref": "#/components/schemas/attributeDatetime"
},
{
"$ref": "#/components/schemas/attributeRelationship"
},
{
"$ref": "#/components/schemas/attributeString"
}
]
},
"x-example": "",
"description": "List of attributes."
}
},
"description": "Attributes List"
}
attributeRelationship
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"relatedCollection",
"relationType",
"twoWay",
"twoWayKey",
"onDelete",
"side"
],
"properties": {
"key": {
"type": "string",
"x-example": "fullName",
"description": "Attribute Key."
},
"side": {
"type": "string",
"x-example": "parent|child",
"description": "Whether this is the parent or child side of the relationship"
},
"type": {
"type": "string",
"x-example": "string",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"twoWay": {
"type": "boolean",
"x-example": false,
"description": "Is the relationship two-way?"
},
"onDelete": {
"type": "string",
"x-example": "restrict|cascade|setNull",
"description": "How deleting the parent document will propagate to child documents."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
},
"twoWayKey": {
"type": "string",
"x-example": "string",
"description": "The key of the two-way relationship."
},
"relationType": {
"type": "string",
"x-example": "oneToOne|oneToMany|manyToOne|manyToMany",
"description": "The type of the relationship."
},
"relatedCollection": {
"type": "string",
"x-example": "collection",
"description": "The ID of the related collection."
}
},
"description": "AttributeRelationship"
}
attributeString
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"size"
],
"properties": {
"key": {
"type": "string",
"x-example": "fullName",
"description": "Attribute Key."
},
"size": {
"type": "integer",
"format": "int32",
"x-example": 128,
"description": "Attribute size."
},
"type": {
"type": "string",
"x-example": "string",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "string",
"nullable": true,
"x-example": "default",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeString"
}
attributeUrl
{
"type": "object",
"required": [
"key",
"type",
"status",
"error",
"required",
"format"
],
"properties": {
"key": {
"type": "string",
"x-example": "githubUrl",
"description": "Attribute Key."
},
"type": {
"type": "string",
"x-example": "string",
"description": "Attribute type."
},
"array": {
"type": "boolean",
"nullable": true,
"x-example": false,
"description": "Is attribute an array?"
},
"error": {
"type": "string",
"x-example": "string",
"description": "Error message. Displays error generated on failure of creating or deleting an attribute."
},
"format": {
"type": "string",
"x-example": "url",
"description": "String format."
},
"status": {
"type": "string",
"x-example": "available",
"description": "Attribute status. Possible values: `available`, `processing`, `deleting`, `stuck`, or `failed`"
},
"default": {
"type": "string",
"nullable": true,
"x-example": "http://example.com",
"description": "Default value for attribute when not provided. Cannot be set when attribute is required."
},
"required": {
"type": "boolean",
"x-example": true,
"description": "Is attribute required?"
}
},
"description": "AttributeURL"
}
bucket
{
"type": "object",
"required": [
"$id",
"$createdAt",
"$updatedAt",
"$permissions",
"fileSecurity",
"name",
"enabled",
"maximumFileSize",
"allowedFileExtensions",
"compression",
"encryption",
"antivirus"
],
"properties": {
"$id": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "Bucket ID."
},
"name": {
"type": "string",
"x-example": "Documents",
"description": "Bucket name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"description": "Bucket enabled."
},
"antivirus": {
"type": "boolean",
"x-example": false,
"description": "Virus scanning is enabled."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Bucket creation time in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Bucket update date in ISO 8601 format."
},
"encryption": {
"type": "boolean",
"x-example": false,
"description": "Bucket is encrypted."
},
"compression": {
"type": "string",
"x-example": "gzip",
"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)."
},
"$permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": [
"read(\"any\")"
],
"description": "Bucket permissions. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"fileSecurity": {
"type": "boolean",
"x-example": true,
"description": "Whether file-level security is enabled. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"maximumFileSize": {
"type": "integer",
"format": "int32",
"x-example": 100,
"description": "Maximum file size supported."
},
"allowedFileExtensions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": [
"jpg",
"png"
],
"description": "Allowed file extensions."
}
},
"description": "Bucket"
}
bucketList
{
"type": "object",
"required": [
"total",
"buckets"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of buckets documents that matched your query."
},
"buckets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/bucket"
},
"x-example": "",
"description": "List of buckets."
}
},
"description": "Buckets List"
}
collection
{
"type": "object",
"required": [
"$id",
"$createdAt",
"$updatedAt",
"$permissions",
"databaseId",
"name",
"enabled",
"documentSecurity",
"attributes",
"indexes"
],
"properties": {
"$id": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "Collection ID."
},
"name": {
"type": "string",
"x-example": "My Collection",
"description": "Collection name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"indexes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/index"
},
"x-example": {},
"description": "Collection indexes."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Collection creation date in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Collection update date in ISO 8601 format."
},
"attributes": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/attributeBoolean"
},
{
"$ref": "#/components/schemas/attributeInteger"
},
{
"$ref": "#/components/schemas/attributeFloat"
},
{
"$ref": "#/components/schemas/attributeEmail"
},
{
"$ref": "#/components/schemas/attributeEnum"
},
{
"$ref": "#/components/schemas/attributeUrl"
},
{
"$ref": "#/components/schemas/attributeIp"
},
{
"$ref": "#/components/schemas/attributeDatetime"
},
{
"$ref": "#/components/schemas/attributeRelationship"
},
{
"$ref": "#/components/schemas/attributeString"
}
]
},
"x-example": {},
"description": "Collection attributes."
},
"databaseId": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "Database ID."
},
"$permissions": {
"type": "array",
"items": {
"type": "string"
},
"x-example": [
"read(\"any\")"
],
"description": "Collection permissions. [Learn more about permissions](https://appwrite.io/docs/permissions)."
},
"documentSecurity": {
"type": "boolean",
"x-example": true,
"description": "Whether document-level permissions are enabled. [Learn more about permissions](https://appwrite.io/docs/permissions)."
}
},
"description": "Collection"
}
collectionList
{
"type": "object",
"required": [
"total",
"collections"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of collections documents that matched your query."
},
"collections": {
"type": "array",
"items": {
"$ref": "#/components/schemas/collection"
},
"x-example": "",
"description": "List of collections."
}
},
"description": "Collections List"
}
continent
{
"type": "object",
"required": [
"name",
"code"
],
"properties": {
"code": {
"type": "string",
"x-example": "EU",
"description": "Continent two letter code."
},
"name": {
"type": "string",
"x-example": "Europe",
"description": "Continent name."
}
},
"description": "Continent"
}
continentList
{
"type": "object",
"required": [
"total",
"continents"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of continents documents that matched your query."
},
"continents": {
"type": "array",
"items": {
"$ref": "#/components/schemas/continent"
},
"x-example": "",
"description": "List of continents."
}
},
"description": "Continents List"
}
country
{
"type": "object",
"required": [
"name",
"code"
],
"properties": {
"code": {
"type": "string",
"x-example": "US",
"description": "Country two-character ISO 3166-1 alpha code."
},
"name": {
"type": "string",
"x-example": "United States",
"description": "Country name."
}
},
"description": "Country"
}
countryList
{
"type": "object",
"required": [
"total",
"countries"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of countries documents that matched your query."
},
"countries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/country"
},
"x-example": "",
"description": "List of countries."
}
},
"description": "Countries List"
}
currency
{
"type": "object",
"required": [
"symbol",
"name",
"symbolNative",
"decimalDigits",
"rounding",
"code",
"namePlural"
],
"properties": {
"code": {
"type": "string",
"x-example": "USD",
"description": "Currency code in [ISO 4217-1](http://en.wikipedia.org/wiki/ISO_4217) three-character format."
},
"name": {
"type": "string",
"x-example": "US dollar",
"description": "Currency name."
},
"symbol": {
"type": "string",
"x-example": "$",
"description": "Currency symbol."
},
"rounding": {
"type": "number",
"format": "double",
"x-example": 0,
"description": "Currency digit rounding."
},
"namePlural": {
"type": "string",
"x-example": "US dollars",
"description": "Currency plural name"
},
"symbolNative": {
"type": "string",
"x-example": "$",
"description": "Currency native symbol."
},
"decimalDigits": {
"type": "integer",
"format": "int32",
"x-example": 2,
"description": "Number of decimal digits."
}
},
"description": "Currency"
}
currencyList
{
"type": "object",
"required": [
"total",
"currencies"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of currencies documents that matched your query."
},
"currencies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/currency"
},
"x-example": "",
"description": "List of currencies."
}
},
"description": "Currencies List"
}
database
{
"type": "object",
"required": [
"$id",
"name",
"$createdAt",
"$updatedAt",
"enabled"
],
"properties": {
"$id": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "Database ID."
},
"name": {
"type": "string",
"x-example": "My Database",
"description": "Database name."
},
"enabled": {
"type": "boolean",
"x-example": false,
"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."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Database creation date in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Database update date in ISO 8601 format."
}
},
"description": "Database"
}
databaseList
{
"type": "object",
"required": [
"total",
"databases"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of databases documents that matched your query."
},
"databases": {
"type": "array",
"items": {
"$ref": "#/components/schemas/database"
},
"x-example": "",
"description": "List of databases."
}
},
"description": "Databases List"
}
deployment
{
"type": "object",
"required": [
"$id",
"$createdAt",
"$updatedAt",
"type",
"resourceId",
"resourceType",
"entrypoint",
"size",
"buildId",
"activate",
"status",
"buildLogs",
"buildTime",
"providerRepositoryName",
"providerRepositoryOwner",
"providerRepositoryUrl",
"providerBranch",
"providerCommitHash",
"providerCommitAuthorUrl",
"providerCommitAuthor",
"providerCommitMessage",
"providerCommitUrl",
"providerBranchUrl"
],
"properties": {
"$id": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "Deployment ID."
},
"size": {
"type": "integer",
"format": "int32",
"x-example": 128,
"description": "The code size in bytes."
},
"type": {
"type": "string",
"x-example": "vcs",
"description": "Type of deployment."
},
"status": {
"type": "string",
"x-example": "ready",
"description": "The deployment status. Possible values are \"processing\", \"building\", \"waiting\", \"ready\", and \"failed\"."
},
"buildId": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "The current build ID."
},
"activate": {
"type": "boolean",
"x-example": true,
"description": "Whether the deployment should be automatically activated."
},
"buildLogs": {
"type": "string",
"x-example": "Compiling source files...",
"description": "The build logs."
},
"buildTime": {
"type": "integer",
"format": "int32",
"x-example": 128,
"description": "The current build time in seconds."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Deployment creation date in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Deployment update date in ISO 8601 format."
},
"entrypoint": {
"type": "string",
"x-example": "index.js",
"description": "The entrypoint file to use to execute the deployment code."
},
"resourceId": {
"type": "string",
"x-example": "5e5ea6g16897e",
"description": "Resource ID."
},
"resourceType": {
"type": "string",
"x-example": "functions",
"description": "Resource type."
},
"providerBranch": {
"type": "string",
"x-example": "0.7.x",
"description": "The branch of the vcs repository"
},
"providerBranchUrl": {
"type": "string",
"x-example": "https://github.com/vermakhushboo/appwrite/tree/0.7.x",
"description": "The branch of the vcs repository"
},
"providerCommitUrl": {
"type": "string",
"x-example": "https://github.com/vermakhushboo/g4-node-function/commit/60c0416257a9cbcdd96b2d370c38d8f8d150ccfb",
"description": "The url of the vcs commit"
},
"providerCommitHash": {
"type": "string",
"x-example": "7c3f25d",
"description": "The commit hash of the vcs commit"
},
"providerCommitAuthor": {
"type": "string",
"x-example": "Khushboo Verma",
"description": "The name of vcs commit author"
},
"providerCommitMessage": {
"type": "string",
"x-example": "Update index.js",
"description": "The commit message"
},
"providerRepositoryUrl": {
"type": "string",
"x-example": "https://github.com/vermakhushboo/g4-node-function",
"description": "The url of the vcs provider repository"
},
"providerRepositoryName": {
"type": "string",
"x-example": "database",
"description": "The name of the vcs provider repository"
},
"providerCommitAuthorUrl": {
"type": "string",
"x-example": "https://github.com/vermakhushboo",
"description": "The url of vcs commit author"
},
"providerRepositoryOwner": {
"type": "string",
"x-example": "utopia",
"description": "The name of the vcs provider repository owner"
}
},
"description": "Deployment"
}
deploymentList
{
"type": "object",
"required": [
"total",
"deployments"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of deployments documents that matched your query."
},
"deployments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/deployment"
},
"x-example": "",
"description": "List of deployments."
}
},
"description": "Deployments List"
}
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
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
healthQueue
{
"type": "object",
"required": [
"size"
],
"properties": {
"size": {
"type": "integer",
"format": "int32",
"x-example": 8,
"description": "Amount of actions in the queue."
}
},
"description": "Health Queue"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
jwt
{
"type": "object",
"required": [
"jwt"
],
"properties": {
"jwt": {
"type": "string",
"x-example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"description": "JWT encoded string."
}
},
"description": "JWT"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
preferences
{
"type": "object",
"description": "Preferences",
"additionalProperties": true
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
token
{
"type": "object",
"required": [
"$id",
"$createdAt",
"userId",
"secret",
"expire",
"phrase"
],
"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."
},
"phrase": {
"type": "string",
"x-example": "Golden Fox",
"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."
},
"secret": {
"type": "string",
"x-example": "",
"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."
},
"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": "Token"
}
topic
{
"type": "object",
"required": [
"$id",
"$createdAt",
"$updatedAt",
"name",
"emailTotal",
"smsTotal",
"pushTotal",
"subscribe"
],
"properties": {
"$id": {
"type": "string",
"x-example": "259125845563242502",
"description": "Topic ID."
},
"name": {
"type": "string",
"x-example": "events",
"description": "The name of the topic."
},
"smsTotal": {
"type": "integer",
"format": "int32",
"x-example": 100,
"description": "Total count of SMS subscribers subscribed to the topic."
},
"pushTotal": {
"type": "integer",
"format": "int32",
"x-example": 100,
"description": "Total count of push subscribers subscribed to the topic."
},
"subscribe": {
"type": "array",
"items": {
"type": "string"
},
"x-example": "users",
"description": "Subscribe permissions."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Topic creation time in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Topic update date in ISO 8601 format."
},
"emailTotal": {
"type": "integer",
"format": "int32",
"x-example": 100,
"description": "Total count of email subscribers subscribed to the topic."
}
},
"description": "Topic"
}
topicList
{
"type": "object",
"required": [
"total",
"topics"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of topics documents that matched your query."
},
"topics": {
"type": "array",
"items": {
"$ref": "#/components/schemas/topic"
},
"x-example": "",
"description": "List of topics."
}
},
"description": "Topic list"
}
user
{
"type": "object",
"required": [
"$id",
"$createdAt",
"$updatedAt",
"name",
"registration",
"status",
"labels",
"passwordUpdate",
"email",
"phone",
"emailVerification",
"phoneVerification",
"mfa",
"prefs",
"targets",
"accessedAt"
],
"properties": {
"$id": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "User ID."
},
"mfa": {
"type": "boolean",
"x-example": true,
"description": "Multi factor authentication status."
},
"hash": {
"type": "string",
"nullable": true,
"x-example": "argon2",
"description": "Password hashing algorithm."
},
"name": {
"type": "string",
"x-example": "John Doe",
"description": "User name."
},
"email": {
"type": "string",
"x-example": "john@appwrite.io",
"description": "User email address."
},
"phone": {
"type": "string",
"x-example": "+4930901820",
"description": "User phone number in E.164 format."
},
"prefs": {
"type": "object",
"items": {
"$ref": "#/components/schemas/preferences"
},
"x-example": {
"theme": "pink",
"timezone": "UTC"
},
"description": "User preferences as a key-value object"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"x-example": [
"vip"
],
"description": "Labels for the user."
},
"status": {
"type": "boolean",
"x-example": true,
"description": "User status. Pass `true` for enabled and `false` for disabled."
},
"targets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/target"
},
"x-example": [],
"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."
},
"password": {
"type": "string",
"nullable": true,
"x-example": "$argon2id$v=19$m=2048,t=4,p=3$aUZjLnliVWRINmFNTWMudg$5S+x+7uA31xFnrHFT47yFwcJeaP0w92L/4LdgrVRXxE",
"description": "Hashed user password."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "User creation date in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "User update date in ISO 8601 format."
},
"accessedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Most recent access date in ISO 8601 format. This attribute is only updated again after 24 hours."
},
"hashOptions": {
"type": "object",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/algoArgon2"
},
{
"$ref": "#/components/schemas/algoScrypt"
},
{
"$ref": "#/components/schemas/algoScryptModified"
},
{
"$ref": "#/components/schemas/algoBcrypt"
},
{
"$ref": "#/components/schemas/algoPhpass"
},
{
"$ref": "#/components/schemas/algoSha"
},
{
"$ref": "#/components/schemas/algoMd5"
}
]
},
"nullable": true,
"x-example": {},
"description": "Password hashing algorithm configuration."
},
"registration": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "User registration date in ISO 8601 format."
},
"passwordUpdate": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Password update time in ISO 8601 format."
},
"emailVerification": {
"type": "boolean",
"x-example": true,
"description": "Email verification status."
},
"phoneVerification": {
"type": "boolean",
"x-example": true,
"description": "Phone verification status."
}
},
"description": "User"
}
userList
{
"type": "object",
"required": [
"total",
"users"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of users documents that matched your query."
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/user"
},
"x-example": "",
"description": "List of users."
}
},
"description": "Users List"
}
variable
{
"type": "object",
"required": [
"$id",
"$createdAt",
"$updatedAt",
"key",
"value",
"resourceType",
"resourceId"
],
"properties": {
"$id": {
"type": "string",
"x-example": "5e5ea5c16897e",
"description": "Variable ID."
},
"key": {
"type": "string",
"x-example": "API_KEY",
"description": "Variable key."
},
"value": {
"type": "string",
"x-example": "myPa$$word1",
"description": "Variable value."
},
"$createdAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Variable creation date in ISO 8601 format."
},
"$updatedAt": {
"type": "string",
"x-example": "2020-10-15T06:38:00.000+00:00",
"description": "Variable creation date in ISO 8601 format."
},
"resourceId": {
"type": "string",
"x-example": "myAwesomeFunction",
"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."
},
"resourceType": {
"type": "string",
"x-example": "function",
"description": "Service to which the variable belongs. Possible values are \"project\", \"function\""
}
},
"description": "Variable"
}
variableList
{
"type": "object",
"required": [
"total",
"variables"
],
"properties": {
"total": {
"type": "integer",
"format": "int32",
"x-example": 5,
"description": "Total number of variables documents that matched your query."
},
"variables": {
"type": "array",
"items": {
"$ref": "#/components/schemas/variable"
},
"x-example": "",
"description": "List of variables."
}
},
"description": "Variables List"
}