* Add Quickstart Guide * Update installation * Remove unused files * Update support/backing * Tweaks in concepts * Setup file structure for API reference 2.0 * Setup page layout for reference * Add clean-urls plugin * getting started updates * Finish authentication rest * getting started updates * Render stylus in 2 spaces * Various * Various * Finish activity docs * Add collections reference * Add extension reference * concepts updates * Fields/tweaks * Add files doc * Add revisions * concepts docs * More api reference * Finish rest api reference (finally) * initial concepts * More things * Add assets api ref * Move sections from file to assets * Add environment variables * contributing docs * Add field transforms page * Left align table headers * concept links * Add API config * Fix mobile nav * Add migrating a project * doc link fixes Co-authored-by: Ben Haynes <ben@rngr.org>
9.3 KiB
pageClass
| pageClass |
|---|
| page-reference |
Users
Groups of users that share permissions.
The User Object
id uuid
Primary key of the user.
first_name string
First name of the user.
last_name string
Last name of the user.
email string
Email address of the user.
password hash
Password of the user.
location string
Location of the user.
title string
Title of the user.
description string
Description of the user.
tags csv
Tags for the user.
avatar many-to-one
Avatar file. Many-to-one to files.
language string
Language the Admin App is rendered in. See our Crowdin page for all available languages and
translations.
theme string
One of auto, light, dark.
tfa_secret string
When TFA is enabled, this holds the
{
"id": "0bc7b36a-9ba9-4ce0-83f0-0a526f354e07",
"first_name": "Admin",
"last_name": "User",
"email": "admin@example.com",
"password": "**********",
"location": "New York City",
"title": "CTO",
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "653925a9-970e-487a-bfc0-ab6c96affcdc",
"token": null,
"last_access": "2021-02-05T10:18:13-05:00",
"last_page": "/settings/roles/653925a9-970e-487a-bfc0-ab6c96affcdc"
}
List Users
List all users that exist in Directus.
Query Parameters
Supports all global query parameters.
Returns
An array of up to limit user objects. If no items are available, data will be an empty array.
GET /users
// Response
{
"data": [
{
"id": "0bc7b36a-9ba9-4ce0-83f0-0a526f354e07",
"first_name": "Admin",
"last_name": "User",
"email": "admin@example.com",
"password": "**********",
"location": "New York City",
"title": "CTO",
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "653925a9-970e-487a-bfc0-ab6c96affcdc",
"token": null,
"last_access": "2021-02-05T10:18:13-05:00",
"last_page": "/settings/roles/653925a9-970e-487a-bfc0-ab6c96affcdc"
},
{...},
{...}
]
}
Retrieve a User
List an existing user by primary key.
GET /users/:id
// Response
{
"data": {
"id": "0bc7b36a-9ba9-4ce0-83f0-0a526f354e07",
"first_name": "Admin",
"last_name": "User",
"email": "admin@example.com",
"password": "**********",
"location": "New York City",
"title": "CTO",
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "653925a9-970e-487a-bfc0-ab6c96affcdc",
"token": null,
"last_access": "2021-02-05T10:18:13-05:00",
"last_page": "/settings/roles/653925a9-970e-487a-bfc0-ab6c96affcdc"
}
}
Retrieve the Current User
Retrieve the currently authenticated user.
Query Parameters
Supports all global query parameters.
Returns
Returns the user object for the currently authenticated user.
GET /users/me
// Response
{
"data": {
"id": "0bc7b36a-9ba9-4ce0-83f0-0a526f354e07",
"first_name": "Admin",
"last_name": "User",
"email": "admin@example.com",
"password": "**********",
"location": "New York City",
"title": "CTO",
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "653925a9-970e-487a-bfc0-ab6c96affcdc",
"token": null,
"last_access": "2021-02-05T10:18:13-05:00",
"last_page": "/settings/roles/653925a9-970e-487a-bfc0-ab6c96affcdc"
}
}
Create a User
Create one or more new user(s).
Query Parameters
Supports all global query parameters.
Request Body
A partial user object or an array of partial user objects.
email and password are required.
Returns
Returns the user object(s) for the created user(s).
POST /users
// Request
{
"email": "another@example.com",
"password": "d1r3ctu5",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"
}
// Response
{
"data": {
"id": "b917be29-e326-4597-ad73-ff892be35aac",
"first_name": null,
"last_name": null,
"email": "another@example.com",
"password": "**********",
"location": null,
"title": null,
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"token": null,
"last_access": null,
"last_page": null
}
}
Update a User
Update an existing user.
Query Parameters
Supports all global query parameters.
Request Body
A partial user object.
Returns
Returns the user object for the created user.
PATCH /users/:id
// Request
{
"title": "CTO"
}
// Response
{
"data": {
"id": "b917be29-e326-4597-ad73-ff892be35aac",
"first_name": null,
"last_name": null,
"email": "another@example.com",
"password": "**********",
"location": null,
"title": "CTO",
"description": null,
"tags": null,
"avatar": null,
"language": "en-US",
"theme": "auto",
"tfa_secret": null,
"status": "active",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"token": null,
"last_access": null,
"last_page": null
}
}
Delete a User
Delete an existing user.
Returns
Empty body.
DELETE /users/:id
// Empty Response
Delete Multiple Users
Delete multiple existing users.
Request Body
An array of user primary keys
Returns
Empty body.
DELETE /users
// Request
["653925a9-970e-487a-bfc0-ab6c96affcdc", "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"]
// Empty Response
Invite a new User
Invite a new user by email.
Request Body
email Required
User email to invite.
role Required
Role of the new user.
Returns
Empty body.
POST /users/invite
// Request
{
"email": "another@example.com",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7"
}
// Empty Response
Accept User Invite
Accept your invite. The invite user endpoint sends the email a link to the Admin App.
This link includes a token, which is then used to activate the invited user.
Request Body
token Required
Accept invite token.
password Required
Password for the user.
Returns
Empty body.
POST /users/invite/accept
// Request
{
"token": "eyJh...KmUk",
"password": "d1r3ctu5"
}
// Empty Response
Enable Two-Factor Authentication
Generates a secret and returns the URL to be used in an authenticator app.
Request Body
password Required
The user's password.
Returns
secret string
OTP secret to be saved in the authenticator app.
otpauth_url string
otpauth:// formatted URL. Can be rendered as QR code and used in most authenticator apps.
POST /users/me/tfa/enable
// Request
{
"password": "d1r3ctu5"
}
// Response
{
"data": {
"secret": "PUITSOZFEEPXABIG",
"otpauth_url": "otpauth://totp/Directus:null%20null?secret=PUITSOZFEEPXABIG&period=30&digits=6&algorithm=SHA1&issuer=Directus"
}
}
Disable Two-Factor Authentication
Disables two-factor authentication by removing the OTP secret from the user.
Request Body
otp Required
One-time password generated by the authenticator app.
Returns
Empty response.
POST /users/me/tfa/disable
// Request
{
"otp": "859014"
}
// Empty Response