object 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."
    }
  }
}
object 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."
    }
  }
}
object 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."
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object 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"
    }
  }
}
object UsersUpdateEmailByIdRequest
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "x-example": "email@example.com",
      "description": "User email."
    }
  }
}
object UsersUpdateEmailVerificationRequest
{
  "type": "object",
  "required": [
    "emailVerification"
  ],
  "properties": {
    "emailVerification": {
      "type": "boolean",
      "x-example": false,
      "description": "User email verification status."
    }
  }
}
object 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."
    }
  }
}
object UsersUpdateMfaStatusRequest
{
  "type": "object",
  "required": [
    "mfa"
  ],
  "properties": {
    "mfa": {
      "type": "boolean",
      "x-example": false,
      "description": "Enable or disable MFA."
    }
  }
}
object UsersUpdatePasswordByIdRequest
{
  "type": "object",
  "required": [
    "password"
  ],
  "properties": {
    "password": {
      "type": "string",
      "x-example": null,
      "description": "New user password. Must be at least 8 chars."
    }
  }
}
object UsersUpdatePhoneByIdRequest
{
  "type": "object",
  "required": [
    "number"
  ],
  "properties": {
    "number": {
      "type": "string",
      "x-example": "+12065550100",
      "description": "User phone number."
    }
  }
}
object UsersUpdatePhoneVerificationRequest
{
  "type": "object",
  "required": [
    "phoneVerification"
  ],
  "properties": {
    "phoneVerification": {
      "type": "boolean",
      "x-example": false,
      "description": "User phone verification status."
    }
  }
}
object UsersUpdatePreferencesByIdRequest
{
  "type": "object",
  "required": [
    "prefs"
  ],
  "properties": {
    "prefs": {
      "type": "object",
      "x-example": "{}",
      "description": "Prefs key-value JSON object."
    }
  }
}
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`."
    }
  }
}
object 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."
    }
  }
}
object UsersUpdateUserByNameRequest
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "x-example": "<NAME>",
      "description": "User name. Max length: 128 chars."
    }
  }
}
object 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"
}
object algoBcrypt
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "x-example": "bcrypt",
      "description": "Algo type."
    }
  },
  "description": "AlgoBcrypt"
}
object algoMd5
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "x-example": "md5",
      "description": "Algo type."
    }
  },
  "description": "AlgoMD5"
}
object algoPhpass
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "x-example": "phpass",
      "description": "Algo type."
    }
  },
  "description": "AlgoPHPass"
}
object 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"
}
object 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"
}
object algoSha
{
  "type": "object",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "type": "string",
      "x-example": "sha",
      "description": "Algo type."
    }
  },
  "description": "AlgoSHA"
}
object any
{
  "type": "object",
  "description": "Any",
  "additionalProperties": true
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
object 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"
}
Load more schemas