Users API
The Users service allows you to manage your project users. Use this service to search, block, and view your users' info, current sessions, and latest activity logs. You can also use the Users service to edit your users' preferences and personal info.
Create User
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.write" permission scope.
Request
Name | Type | Description | |
required | string | User email. | |
password | required | string | User password. Must be between 6 to 32 chars. |
name | optional | string | User name. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.create('email@example.com', 'password'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.create('email@example.com', 'password'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->create('email@example.com', 'password');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.create('email@example.com', 'password')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.create(email: 'email@example.com', password: 'password'); puts response
List Users
Get a list of all the project users. You can use the query params to filter your results.
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.read" permission scope.
Request
Name | Type | Description | |
search | optional | string | Search term to filter your list results. |
limit | optional | integer | Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request. |
offset | optional | integer | Results offset. The default value is 0. Use this param to manage pagination. |
orderType | optional | string | Order result by ASC or DESC order. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.list(); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.list(); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->list();
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.list()
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.list(); puts response
Get User
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.read" permission scope.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.get('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.get('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->get('[USER_ID]');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.get('[USER_ID]')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.get(user_id: '[USER_ID]'); puts response
Get User Preferences
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.read" permission scope.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.getPrefs('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.getPrefs('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->getPrefs('[USER_ID]');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.get_prefs('[USER_ID]')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.get_prefs(user_id: '[USER_ID]'); puts response
Get User Sessions
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.read" permission scope.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.getSessions('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.getSessions('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->getSessions('[USER_ID]');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.get_sessions('[USER_ID]')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.get_sessions(user_id: '[USER_ID]'); puts response
Get User Logs
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.read" permission scope.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.getLogs('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.getLogs('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->getLogs('[USER_ID]');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.get_logs('[USER_ID]')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.get_logs(user_id: '[USER_ID]'); puts response
Update User Status
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.write" permission scope.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
status | required | string | User Status code. To activate the user pass 1, to block the user pass 2 and for disabling the user pass 0 |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.updateStatus('[USER_ID]', '1'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.updateStatus('[USER_ID]', '1'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->updateStatus('[USER_ID]', '1');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.update_status('[USER_ID]', '1')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.update_status(user_id: '[USER_ID]', status: '1'); puts response
Update User Preferences
Update user preferences by its unique ID. You can pass only the specific settings you wish to update.
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.write" permission scope.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
prefs | required | object | Prefs key-value JSON object. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.updatePrefs('[USER_ID]', {}); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.updatePrefs('[USER_ID]', {}); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->updatePrefs('[USER_ID]', []);
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.update_prefs('[USER_ID]', {})
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.update_prefs(user_id: '[USER_ID]', prefs: {}); puts response
Delete User Session
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.write" permission scope.
Rate Limits
This endpoint is limited to 100 requests in every 60 minutes per IP address. We use rate limits to avoid service abuse by users and as a security practice. Learn more about rate limiting.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
sessionId | required | string | User unique session ID. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.deleteSession('[USER_ID]', '[SESSION_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.deleteSession('[USER_ID]', '[SESSION_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->deleteSession('[USER_ID]', '[SESSION_ID]');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.delete_session('[USER_ID]', '[SESSION_ID]')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.delete_session(user_id: '[USER_ID]', session_id: '[SESSION_ID]'); puts response
Delete User Sessions
Authentication
To access this route, init your SDK with your project unique ID and API Key secret token. Make sure your API Key is granted with access to the "users.write" permission scope.
Rate Limits
This endpoint is limited to 100 requests in every 60 minutes per IP address. We use rate limits to avoid service abuse by users and as a security practice. Learn more about rate limiting.
Request
Name | Type | Description | |
userId | required | string | User unique ID. |
-
const sdk = require('node-appwrite'); // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.deleteSessions('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
import * as sdk from "https://deno.land/x/appwrite/mod.ts"; // Init SDK let client = new sdk.Client(); let users = new sdk.Users(client); client .setProject('5df5acd0d48c2') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; let promise = users.deleteSessions('[USER_ID]'); promise.then(function (response) { console.log(response); }, function (error) { console.log(error); });
-
<?php use Appwrite\Client; use Appwrite\Services\Users; $client = new Client(); $client ->setEndpoint('https://[HOSTNAME_OR_IP]/v1') // Your API Endpoint ->setProject('5df5acd0d48c2') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; $users = new Users($client); $result = $users->deleteSessions('[USER_ID]');
-
from appwrite.client import Client from appwrite.services.users import Users client = Client() (client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) users = Users(client) result = users.delete_sessions('[USER_ID]')
-
require 'appwrite' client = Appwrite::Client.new() client .set_endpoint('https://[HOSTNAME_OR_IP]/v1') # Your API Endpoint .set_project('5df5acd0d48c2') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ; users = Appwrite::Users.new(client); response = users.delete_sessions(user_id: '[USER_ID]'); puts response