Skip to main content

Users

GET /users​

List all users.

  • Auth required: Yes
  • Permission: users.manage

Response

{
"users": [
{
"id": "user_abc",
"username": "alice",
"displayName": "Alice",
"email": "alice@example.com",
"role": "user",
"failedLoginCount": 0,
"lockedUntil": null,
"lastLoginAt": "2024-01-01T00:00:00.000Z",
"createdAt": "2023-06-01T00:00:00.000Z",
"mfaEnabled": true
}
]
}

POST /users​

Create a new user.

  • Auth required: Yes
  • Permission: users.manage

Request body

{
"username": "bob",
"password": "min8chars",
"displayName": "Bob",
"email": "bob@example.com",
"role": "user"
}

Response

{
"id": "user_xyz",
"username": "bob",
"displayName": "Bob",
"email": "bob@example.com",
"role": "user",
"failedLoginCount": 0,
"lockedUntil": null,
"lastLoginAt": null
}

PUT /users/:id​

Update a user's display name, email, or role.

  • Auth required: Yes
  • Permission: users.manage

Request body (all fields optional)

{
"displayName": "Bob Smith",
"email": "bob.smith@example.com",
"role": "admin"
}

Response

{ "success": true }

DELETE /users/:id​

Delete a user. Cannot delete yourself, or a user who still owns connections or folders shared with other users — remove or reassign those shares first.

  • Auth required: Yes
  • Permission: users.manage

Response

{ "success": true }

Response (user owns shared resources)

{ "error": "Cannot delete a user who owns connections or folders shared with other users" }

POST /users/:id/reset-password​

Reset a user's password as an administrator.

  • Auth required: Yes
  • Permission: users.manage

Request body

{ "newPassword": "min8chars" }

Response

{ "success": true }

POST /users/:id/unlock​

Unlock a user account that has been locked due to too many failed login attempts.

  • Auth required: Yes
  • Permission: users.manage

Response

{ "success": true }